2013-06-28 3 views
1

Я пытаюсь выполнить аутентификацию с помощью ADAM и LDAP. У меня действительно нет опыта с этим материалом, но я был брошен в глубину на работе, чтобы понять это.Аутентификация ADAM с использованием LDAP

Вот что я знаю. Я использую программу JXplorer для просмотра сервера ADAM, работающего на виртуальной машине на моем компьютере. Here are the login details

Это прекрасно работает. То, что я пытаюсь сделать, это повторить этот процесс с помощью VB.NET. Я пробовал кучу вещей, и ничего не работает, я получаю постоянные исключения, начиная от плохого пароля и заканчивая неизвестной ошибкой. Вот код, который я начал с -

Dim userName As String = "ADAM_TESTER" 
Dim userPassword As String = "password" 
Dim serverAddress As String = "LDAP://10.0.0.142:389" 

Private Sub Main_Load(sender As Object, e As EventArgs) Handles MyBase.Load 

    Try 
     Dim de As DirectoryEntry = New DirectoryEntry("LDAP://10.0.0.142:389/OU=Users,DC=TEST,DC=corp", userName, userPassword) 
     Dim deSearch As DirectorySearcher = New DirectorySearcher() 
     deSearch.SearchRoot = de 
     deSearch.Filter = "(&(objectClass=user) (cn=" + userName + "))" 
     Dim results As SearchResultCollection = deSearch.FindAll() 
     If (results.Count > 0) Then 
      Dim d As DirectoryEntry = New DirectoryEntry(results(0).Path, userName, userPassword) 
      If (d.Guid.ToString IsNot Nothing) Then 
       'The directory entry is valid 
       'DoSomething() 
      End If 

     End If 

Я также попытался изменить имя пользователя выше к деталям в User DN в JXplorer. Я действительно застрял здесь и искал ответы часами.

Любая помощь будет оценена по достоинству.

ответ

0

Спасибо за мысли Джеффа, я в конце концов понял это. Оказалось, что мне нужна строка подключения, не включая OU = Users. Заключительная строка закончилась существо -

LDAP: //10.0.0.142: 389/DC = TEST, DC = КОРП

Я понятия не имею, почему он не хотел, OU = Users. Я трачу около дня, пытаясь использовать все разные комбинации, пока, наконец, это не будет принято.

0

Практически необходимо, чтобы userName был полным DN. В большинстве случаев ADAM нуждается в полном DN для входа в систему.

1

FYI, Пользователи - это контейнер, а не OU. Я считаю, что вы могли бы также использовать «LDAP: //10.0.0.142: 389/CN = Пользователи, DC = TEST, DC = corp»