Подтвердите вход пользователя с помощью LDAP - PullRequest
1 голос
/ 17 ноября 2011

Мне не удалось успешно проверить пользователя с помощью LDAP для веб-приложения ASP.NET.Я сделал это в нашей собственной сети с Active Directory, но это с сервером за пределами нашей сети, который является OID (Oracle Internet Directory).

Обычно я использую следующий код без проблем.

Dim myDirectoryEntry As New System.DirectoryServices.DirectoryEntry("LDAP://1.2.3.4:999/OU=SomeOU,DC=Something,DC=com")
myDirectoryEntry.AuthenticationType = System.DirectoryServices.AuthenticationTypes.Sealing
myDirectoryEntry.AuthenticationType = System.DirectoryServices.AuthenticationTypes.Secure

Try
    myDirectoryEntry.Username = txtUserID.Text.Trim
    myDirectoryEntry.Password = txtPassword.Text.Trim

    Dim mySearcher As New System.DirectoryServices.DirectorySearcher(myDirectoryEntry)

    mySearcher.Filter = ("(anr= " & txtUserID.Text & ")")

    Dim result As System.DirectoryServices.SearchResult = mySearcher.FindOne
Catch ex As Exception
    'failed log in handling 
End Try

Для этого приложения я работаю с каталогом за пределами нашей сети, и вышеуказанный метод завершается неудачно (запрошенный метод аутентификации не поддерживается сервером.)сервер LDAP использует:

Dim serverName As String = "1.2.3.4:999"

Dim dn As String = "cn=somename,cn=users,dc=something,dc=gov"

Dim ServerCon As New LdapConnection(serverName)

ServerCon.AuthType = AuthType.Basic

Dim cred As New System.Net.NetworkCredential(dn, "password")

ServerCon.Bind(cred)

После этого мне не удалось найти способ проверить информацию о входе пользователя в систему с помощью пароля и затем извлечь некоторую информацию.

1 Ответ

0 голосов
/ 19 ноября 2011

Возможно, сервер не поддерживает аутентификацию Kerberos. Сервер каталогов должен вернуть код ошибки, полученный вами в ответе, когда запрошенный метод аутентификации не поддерживается, и состояние аутентификации соединения не может быть установлено. Это может произойти с неподдерживаемым механизмом SASL; механизмы поддержки SASL должны быть перечислены в корневой директории DSE .

...