LXVI. Funciones LDAPIntroducciónLDAP es el protocolo simple de acceso a directorios (Lightweight Directory Access Protocol), un protocolo usado para acceder a "Servidores de Directorio". El directorio es una clase especial de base de datos que contiene información estructurada en forma de árbol. El concepto es similar a la estructura de directorios de los discos duros, pero en este caso, el directorio raiz es "El Mundo" y los subdirectorios de primer nivel son los "países". Niveles inferiores de la estructura de directorio contienen entradas para compañías, organizaciones o lugares, y en niveles aún más inferiores se encuentran las entradas para la gente, y en algunos casos equipos informáticos y documentos. Para referirse a un archivo en un subdirectorio del disco duro se usa algo como:
Las barras marcan cada división en la referencia al archivo, y la secuencia es leida de izquierda a derecha. El equivalente a la referencia a un archivo en LDAP es el "distinguished name" (nombre distinguible), abreviado como "dn". Un ejemplo de dn podría ser.
Las comas marcan cada división en la referencia, y la secuencia se lee de derecha a izquierda. Este dn se leería como:
De la misma manera que no hay reglas estrictas sobre como organizar la estructura de directorios de un disco duro, un administrador de un servidor de directorio puede establecer cualquier estructura que sea útil para sus propósitos. Sin embargo hay algunos acuerdos tácitos que siempre deben seguirse. La conclusión es que no se pueden escribir programas para acceder a un directorio si no se conoce algo de su estructura, igual que no se puede usar una base de datos sin algún conocimiento sobre lo que está disponible en ella. Información sobre LDAP se puede encontrar en: Netscape SDK tiene una Guia de programación muy buena en HTML. RequisitosSe necesita obtener y compilar las bibliotecas LDAP cliente de la dirección de OpenLDAP o de Bind9.net para poder compilar PHP con soporte LDAP. InstalaciónPara incluir el soporte de LDAP en PHP, es necesario añadir el parámetro --with-ldap[=DIR] a las opciones de configuración de la compilación de PHP, donde DIR apunta al directorio base de instalación de LDAP. Para incluir soporte de SASL, también se debe añadir la siguiente opción de compilación --with-ldap-sasl[=DIR], y además el archivo sasl.h debe existir en el sistema.
Configuración en tiempo de ejecuciónEl comportamiento de estas funciones está afectado por los valores definidos en php.ini.
Tabla 1. Opciones de configuración de LDAP
Tipos de recursosEsta extensión no tiene ningún tipo de recurso definido. Constantes predefinidasEstas constantes están definidas por esta extensión y estarán disponibles solamente cuando la extensión ha sido o bien compilada dentro de PHP o grabada dinámicamente en tiempo de ejecución.
EjemplosRecuperar informacion para todas las entradas donde el apellido empiece por "P" de un servidor de directorio, mostrando un listado con el nombre y dirección de correo electrónico. Usando las funciones LDAP de PHPAntes de usar las funciones LDAP deben conocerse los siguientes datos...
La secuencia típica de llamadas a funciones LDAP que realizan las aplicaciones suele seguir el siguiente patrón:
|
||||||||||||||||||