Recuperar atributos vacíos de LDAP DN
Pregunta
Actualmente estoy programando una herramienta (en ANSI C) para mi empresa que lee de un directorio LDAP y genera todos los datos en un formato específico (es decir, el formato de nombre de nuestro antiguo directorio propietario db). Esto es manejado por otra herramienta que lee el resultado y así sucesivamente ... no preguntes.
De todos modos, para mi '' ldaplist ... '' comando Necesito imprimir todos atributos que pertenecen a esa entrada, incluso aquellos que no tienen un valor establecido.
Desafortunadamente ldap_first_attribute
/ ldap_next_attribute
no los devuelve, solo aquellos que tienen un valor establecido, y no puedo encontrar un parámetro ldap_search_ext_s
o un conmutador ldap_set_option
que me ayudaría aquí.
Espero que uno de ustedes sepa cómo hacer eso.
¡Gracias por su tiempo y ayuda de antemano!
Solución
No he usado ldap_search_ext_s
, así que no conozco sus opciones y no puedo decirle una solución basada en el uso de esta función. Sin embargo, me gustaría sugerir una idea.
-
Necesita recuperar un esquema de un servidor LDAP. El DN de la entrada del esquema está en el nodo raíz. Después de eso, debe recuperar la entrada del esquema y sus " objectClasses " atributo. Contiene especificaciones de cada clase y sus tipos de atributos permitidos (el esquema).
-
Cuando ejecuta la búsqueda LDAP, normalmente obtiene cero, una o más entradas. Cada entrada tiene un atributo objectClass. Lea sus valores que son nombres de clases de objetos. Y luego encuentre las clases de cada objeto en el esquema y recupere sus tipos de atributos. Si en la entrada devuelta no hay uno o unos pocos atributos, significa que un atributo no tiene ningún valor o que no puede leer el atributo en esta entrada.
Otros consejos
Estoy de acuerdo, con skwllsp. Deberá devolver el esquema para cada clase de objeto en cada entrada y mostrar cada atributo. Desafortunadamente, esto probablemente será mucho más de lo que esperaba, ya que tal vez haya muchos `` inútiles '' datos en ese tipo de devolución.
Sería bueno mostrar los atributos poblados y luego una lista de los atributos deseados que no están poblados.
Puede obtener ayuda si mira: http://developer.novell.com/documentation/samplecode/cldap_sample/index. htm Buena suerte -jim