У меня есть приложение, которое читает пользовательские записи из хранилища LDAP.Я использую средства в пространстве имен System.DirectoryServices.Protocols для этого.Объектным классом обычно является person или inetOrgPerson.
Как я могу динамически считывать атрибуты для данного класса из репозитория LDAP?
Следующий код создает список атрибутов для примера пользователя вхранилище, но, по-видимому, возвращает только те атрибуты, которые имеют значения.
var connection = new LdapConnection(...);
SearchRequest request = new SearchRequest("CN=joe.user,DC=blah,DC=com", (string)null, SearchScope.Base);
SearchResponse response = (SearchResponse)connection.SendRequest(request);
var attributes = new List<string>();
foreach (SearchResultEntry entry in response.Entries)
{
foreach (string attributeName in entry.Attributes.AttributeNames)
attributes.Add(attributeName);
}
Я могу покрасить атрибут objectclass от образца пользователя, чтобы получить классы, но тогда как мне получить все атрибуты для списка объектных классов пользователя?
ПРИМЕЧАНИЕ. Класс SearchRequest утверждает, что при установке для свойства Attributes значения null будут возвращены все атрибуты.К сожалению, для этого свойства нет установщика!
ПРИМЕЧАНИЕ 2. Я пытался добавить «*» и «+» в список имен атрибутов, но безрезультатно.