无法使用C#列出所有LDAP属性

时间:2014-01-06 19:00:06

标签: 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) 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"。这里有什么明显的东西我不见了吗?

1 个答案:

答案 0 :(得分:0)

哇,在我的函数GetOpenLdapConnection()中,我需要将AuthType的{​​{1}}设置为LdapConnection。现在一切似乎都正常。希望这有助于其他人。