C# 无法使用C列出所有LDAP属性#
我正在尝试获取给定LDAP条目的所有属性的列表,代码如下:C# 无法使用C列出所有LDAP属性#,c#,.net,ldap,ldapconnection,C#,.net,Ldap,Ldapconnection,我正在尝试获取给定LDAP条目的所有属性的列表,代码如下: LdapConnection conn = GetOpenLdapConnection(); string filter = "(uid=" + user + ")"; SearchRequest search = new SearchRequest(LDAP_BASE, filter, SearchScope.Subtree, "*"); SearchResponse resp = conn.SendRequest(search)
LdapConnection conn = GetOpenLdapConnection();
string filter = "(uid=" + user + ")";
SearchRequest search = new SearchRequest(LDAP_BASE, filter, SearchScope.Subtree, "*");
SearchResponse resp = conn.SendRequest(search) as SearchResponse;
SearchResultEntry entry = resp.Entries[0];
Console.WriteLine(entry.DistinguishedName);
foreach (string attr in entry.Attributes.AttributeNames)
Console.WriteLine("Name:" + attr);
conn.Dispose();
但是,这只打印一个属性名:“uid”。我不明白为什么这不会返回使用LDAP浏览器可以清楚看到的所有属性(在代码试图检索时浏览给定用户的相同条目)
老实说,我不想看到所有的属性;我知道要检索的名称,但即使我将新的SearchRequest(…,“*”)
替换为新的SearchRequest(…,“attr1”,“attr2”,“etc.”)
,我似乎也只能检索“uid”
。这里有什么明显的遗漏吗?哇,在我的函数GetOpenLdapConnection()
中,我需要将LdapConnection
的AuthType
设置为Basic
。现在一切似乎都正常运转。希望这对其他人有帮助