Authentification (ADSI)
Dans ADSI, les informations d’identification qui se composent d’un nom d’utilisateur et d’un mot de passe sont utilisées pour fournir ou restreindre l’accès aux objets dans le service d’annuaire. La fonction ADsGetObject utilise les informations d’identification du thread appelant pour l’authentification. La fonction ADsOpenObject et la méthode IADsOpenDSObject ::OpenDSObject peuvent être utilisées pour spécifier des informations d’identification autres que celles du thread appelant. Lorsqu’un objet est lié à un utilisateur authentifié, l’utilisateur est autorisé à accéder à l’objet comme pris en charge par les exigences de sécurité du service d’annuaire sous-jacentes.
Remarque
La fonction ADsOpenObject et la méthode IADsOpenDSObject ::OpenDSObject ne doivent pas être utilisées pour valider les informations d’identification de l’utilisateur.
Important
Microsoft ne recommande pas le flux de nom d’utilisateur et de mot de passe, car l’application demande directement à un utilisateur son mot de passe, qui est un modèle non sécurisé. Dans la plupart des scénarios, il existe des flux plus sécurisés que vous pouvez utiliser.
L’exemple de code suivant montre comment utiliser la méthode OpenDSObject pour authentifier un utilisateur.
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