Я использую DirectorySearcher для поиска пользовательской записи на сервере LDAP.
DirectoryEntry de = new DirectoryEntry();
de.Path = "LDAP://myserver/OU=People,O=mycompany";
de.AuthenticationType = AuthenticationTypes.None;
DirectorySearcher deSearch = new DirectorySearcher();
deSearch.SearchRoot = de;
deSearch.Filter = "(uid=" + model.UserName + ")";
SearchResult result = deSearch.FindOne();
Я могу получить требуемый вывод в переменной результата.
Однако, если я пытаюсь выполнить аутентификацию одного и того же пользователя, указав пароль в записи каталога, я всегда получаю следующую ошибку.
"Имя пользователя или пароль неверны".
DirectoryEntry entry = new DirectoryEntry("LDAP://myserver/OU=People,O=mycompany", username, password);
DirectorySearcher search = new DirectorySearcher(
entry,
"(uid=" + username + ")",
new string[] { "uid" }
);
search.SearchScope = System.DirectoryServices.SearchScope.Subtree;
SearchResult found = search.FindOne(); ->>>>>this is where I get wrong credential error.
Имя пользователя и пароль для пользователя, которого я хочу проверить.
Может кто-нибудь сказать мне, что я делаю неправильно здесь или как отлаживать это.