0

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

4

1 回答 1

0

哇,在我的函数GetOpenLdapConnection()中,我需要为AuthTypetoLdapConnection设置Basic。现在一切似乎都正常工作。希望这对其他人有帮助。

于 2014-01-07T16:32:22.263 回答