我正在尝试使用以下代码获取给定 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"
。我在这里遗漏了什么明显的东西吗?