在没有密码c#4.5的情况下检查LDAP目录的用户名

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在没有密码c#4.5的情况下检查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();

我也尝试过以下Filter标准,但结果为null。请告诉我代码中出了什么问题。

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

试试这样的userPrincipalName

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

SearchResult result = deSearch.FindOne();

以上是关于在没有密码c#4.5的情况下检查LDAP目录的用户名的主要内容,如果未能解决你的问题,请参考以下文章

没有管理控制台UI的Chef Server的LDAP

配置 Spring Security 以在没有匿名和没有绑定 DN 的情况下针对 LDAP 进行身份验证

java - 如何使用给定的LdapContext检查ldap中的用户密码?

java ldap根据用户名查询

Java Active Directory LDAP - 使用密码哈希对用户进行身份验证

是否可以在没有密码的情况下使用 Spring SecurityConfiguration HttpSecurity 登录?