Forum: VB.NET |
Thema:
Problem mit Impersonation |
Von:
G. Guest (
16.08.2004 17:48) |
Hallo!
Vorweg: Ich bin eín .net greenhorn ;-)
Ich habe im Internet eine Seite gefunden in der ein kleines Beispiel gezeigt wurde. Jetzt habe ich dieses Beispiel abgetippt und versucht zu komplieren.
Leider erziehlt es nicht den gewünschten Effekt und springt mit dem MsgBox("Authentication Faild!") aus dem Programm.
Module Module 1
Declare Auto Function LogonUser Lib "advapi32.dll" (ByVal lpszUsername As String, ByVal lpszDomain As String, ByVal lpszPassword As String, ByVal dwLogonType As Integer, ByVal dwLogonProvider As Integer, ByRef phToken As IntPtr) As Integer
Declare Auto Function ImpersonateLoggedOnUser Lib "advapi32.dll" (ByVal hToken As IntPtr) As Integer
Declare Auto Function RevertToSelf Lib "advapi32.dll" () As Integer
Sub Main()
If impersonateValidUser("Peter", "MyDomain", "PetersPassword") then
System.Diagnostics.Process.Start("C:\windows\notepad.exe")
undoImpersonation()
else
MsgBox("Authentication Failed!")
end if
End Sub
Function impersonateValidUser(username as String, Domain as String, password as
String) as boolean
Dim LogonType as Integer
Dim LogonProvider as Integer
Dim Tk as IntPtr
LogonType = 2 'Interactive
LogonProvider = 0 'Default Provider
If LogonUser(username ,Domain ,password , LogonType, LogonProvider ,Tk) <> 0 then
if ImpersonateLoggedonUser(Tk) <> 0 then
impersonateValidUser ="True"
else
impersonateValidUser ="False"
End if
End If
End function
Sub undoImpersonation()
RevertToSelf()
End Sub
End Module
Gruß & Dank im Vorraus!
Juan
Betreff |
Von |
Datum |
|
  |
Re: Problem mit Impersonation
Du benötigst die entsprechenden Benutzerrechte für den aktuellen Benutzer unter dessen Kontext die Impersonation läuft!<br><br>Schau unter LogonUser in der MSDN!<br>Auszug aus der MSDN:<br><br>The account being... |
 |
 |
 |
|
|
G.
Guest
|
18.08.2004 10:51 |
|
|
G.
Guest
|
19.08.2004 14:37 |
|
|
Antworten
Vorsicht bei der Eingabe: Die Zeichen ' oder -- sind nicht erlaubt!