根据没有密码的LDAP目录检查用户名c#4.5

时间:2018-09-07 12:33:59

标签: c#-4.0 ldap

我正在使用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 :(得分:0)

像这样尝试userPrincipalName

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

SearchResult result = deSearch.FindOne();