我试图获取给定LDAP条目的所有属性的列表,使用以下代码:
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浏览器清楚看到的所有属性(浏览代码试图检索的给定user
的相同条目)。
new SearchRequest(..., "*")
替换为new SearchRequest(..., "attr1", "attr2", "etc.")
,我唯一可以检索的是"uid"
。这里有什么明显的东西我不见了吗?
答案 0 :(得分:0)
哇,在我的函数GetOpenLdapConnection()
中,我需要将AuthType
的{{1}}设置为LdapConnection
。现在一切似乎都正常。希望这有助于其他人。