Autenticação (ADSI)
No ADSI, as credenciais que consistem em um nome de usuário e senha são usadas para fornecer ou restringir o acesso a objetos no serviço de diretório. A função ADsGetObject usa as credenciais do thread de chamada para autenticação. A função ADsOpenObject e o método IADsOpenDSObject::OpenDSObject podem ser usados para especificar credenciais diferentes daquelas do thread de chamada. Quando um objeto é vinculado a um usuário autenticado, o usuário tem permissão para acessar o objeto, conforme suportado pelos requisitos de segurança do serviço de diretório subjacente.
Observação
A função ADsOpenObject e o método IADsOpenDSObject::OpenDSObject não devem ser usados para validar credenciais de usuário.
Importante
A Microsoft não recomenda o fluxo de nome de usuário e senha porque o aplicativo solicitará a senha diretamente a um usuário, o que é um padrão inseguro. Na maioria dos cenários, existem fluxos mais seguros que você pode usar.
O exemplo de código a seguir mostra como usar o método OpenDSObject para autenticar um usuário.
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