Проверка подлинности (ADSI)
В ADSI учетные данные, состоящие из имени пользователя и пароля, используются для предоставления или ограничения доступа к объектам в службе каталогов. Функция ADsGetObject использует учетные данные вызывающего потока для проверки подлинности. Функцию ADsOpenObject и метод IADsOpenDSObject::OpenDSObject можно использовать для указания учетных данных, отличных от учетных данных вызывающего потока. Если объект привязан к пользователю, прошедшим проверку подлинности, пользователь может получить доступ к объекту в соответствии с требованиями безопасности базовой службы каталогов.
Примечание.
Функция ADsOpenObject и метод IADsOpenDSObject::OpenDSObject не следует использовать для проверки учетных данных пользователя.
Внимание
Корпорация Майкрософт не рекомендует поток имен пользователей и паролей, так как приложение будет запрашивать у пользователя пароль напрямую, что является небезопасным шаблоном. В большинстве сценариев существуют более безопасные потоки, которые можно использовать.
В следующем примере кода показано, как использовать метод OpenDSObject для проверки подлинности пользователя.
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