Authentifizierung (ADSI)
In ADSI werden Anmeldeinformationen, die aus einem Benutzernamen und Kennwort bestehen, verwendet, um den Zugriff auf Objekte im Verzeichnisdienst bereitzustellen oder einzuschränken. Die ADsGetObject-Funktion verwendet die Anmeldeinformationen des aufrufenden Threads für die Authentifizierung. Die ADsOpenObject-Funktion und die IADsOpenDSObject::OpenDSObject-Methode können verwendet werden, um andere Anmeldeinformationen als die des aufrufenden Threads anzugeben. Wenn ein Objekt an einen authentifizierten Benutzer gebunden ist, kann der Benutzer auf das Objekt zugreifen, wie es von den zugrunde liegenden Sicherheitsanforderungen des Verzeichnisdiensts unterstützt wird.
Hinweis
Die ADsOpenObject-Funktion und die IADsOpenDSObject::OpenDSObject-Methode sollten nicht zum Überprüfen von Benutzeranmeldeinformationen verwendet werden.
Wichtig
Microsoft empfiehlt den Benutzernamen- und Kennwortfluss nicht, da die Anwendung einen Benutzer direkt nach dem Kennwort fragt, was ein unsicheres Muster ist. In den meisten Szenarien gibt es sicherere Flüsse, die Sie verwenden können.
Im folgenden Codebeispiel wird gezeigt, wie Sie die OpenDSObject-Methode verwenden, um einen Benutzer zu authentifizieren.
Dim MyNamespace As IADsOpenDSObject
Dim X
oUsername=GetUsernameFromSecureConfig() ' Get the username from a secure location (not shown)
oPassword=GetPasswordFromSecureConfig() ' Get the password from a secure location (not shown)
OnError GoTo CleanuUp
Set MyNamespace = GetObject("LDAP:")
' For authentication, pass a variable for the user name and password to be used for
' authentication. For security reasons, it is recommended that you use the ADS_SECURE_AUTHENTICATION flag.
'
Set X = MyNamespace.OpenDSObject(DN, oUserName, oPassword, ADS_SECURE_AUTHENTICATION)
CleanUp:
MsgBox ("An error has occurred.")
Set MyNamespace = Nothing
Set X = Nothing