Получить пустые атрибуты LDAP DN
Вопрос
В настоящее время я программирую инструмент (в ANSI C) для моей компании, который читает из каталога LDAP и выводит все данные в определенном формате (то есть: формат имени нашей старой проприетарной директории db). Затем это обрабатывается другим инструментом, который читает вывод и так далее ... не спрашивайте.
В любом случае, для моего & ldaplist ... " Мне нужно распечатать все атрибуты, принадлежащие этой записи, даже те, для которых значение не установлено.
К сожалению, ldap_first_attribute
/ ldap_next_attribute
не возвращает их, только те, для которых установлено значение, и я не могу найти параметр ldap_search_ext_s
или переключатель ldap_set_option
, который поможет мне здесь.
Надеюсь, один из вас знает, как это сделать.
Спасибо за ваше время и помощь заранее!
Решение
Я не использовал ldap_search_ext_s
, поэтому я не знаю его параметров и не могу сказать вам решение, основанное на использовании этой функции. Однако я хотел бы предложить одну идею. Р>
<Ол>
Вам необходимо получить схему с сервера LDAP. DN записи схемы находится в корневом узле. После этого вам нужно получить запись схемы и ее " objectClasses " приписывать. Он содержит спецификации каждого класса и его разрешенных типов атрибутов (схемы).
Когда вы запускаете поиск LDAP, вы обычно получаете ноль, одну или несколько записей. Каждая запись имеет атрибут objectClass. Прочитайте его значения, которые являются именами классов объектов. А затем найдите каждый объект класса в схеме и получите его типы атрибутов. Если в возвращенной записи нет ни одного, ни нескольких атрибутов, это означает, что либо у атрибута нет значений, либо вы не можете прочитать атрибут в этой записи.
Другие советы
Я согласен с skwllsp. Вам нужно будет возвращать схему для каждого объектного класса в каждой записи и отображать каждый атрибут. К сожалению, это, вероятно, будет намного больше, чем вы ожидали, поскольку может быть много «бесполезных». данные в этом типе возврата.
Вы бы хорошо показали заполненные атрибуты и затем список желаемых атрибутов, которые не заполнены.
Вы можете получить некоторую помощь, посмотрев на: http://developer.novell.com/documentation/samplecode/cldap_sample/index. HTM Удачи -Джим р>