Я пытаюсь получить список всех атрибутов для данной записи 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"
. Есть ли здесь что-то очевидное, что мне не хватает?