Проверка имени пользователя по каталогу LDAP без пароля c # 4.5 - PullRequest
0 голосов
/ 07 сентября 2018

Я работаю в C # .Net 4.5. Я использую код ниже, чтобы проверить, принадлежит ли конкретный пользователь к данной группе AD или нет. Но это не дает результатов, хотя я ввожу действительные данные пользователя.

DirectoryEntry de = new DirectoryEntry();
de.Path = "LDAP://xyz.com";
DirectorySearcher deSearch = new DirectorySearcher();
deSearch.SearchRoot = de;
string usr = "test1";
deSearch.Filter = string.Format("(&(objectCategory=person)(anr={0}))", usr);
SearchResult result = deSearch.FindOne();

Я также пробовал использовать критерии фильтра ниже, но результат равен нулю. Пожалуйста, дайте мне знать, что пошло не так в моем коде.

  1. deSearch.Filter = "(& (objectCategory = person) (objectClass = user) (sn =" + usr + "))"
  2. deSearch.Filter = "(uid =" + usr + ")";
  3. deSearch.Filter = "(& (objectCategory = person) (objectClass = user) (racfid =" + usr + "))"

1 Ответ

0 голосов
/ 07 сентября 2018

Попробуйте userPrincipalName вот так:

deSearch.Filter = "(&(objectCategory=person)(objectClass=user)(userPrincipalName=" + usr  + "@*))";
deSearch.PropertiesToLoad.Add("userPrincipalName");
deSearch.PropertiesToLoad.Add("displayName");

SearchResult result = deSearch.FindOne();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...