Introducción
LDAP es el protocolo de acceso a directorios ligero (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 inferiores se encuentran las entradas para
la gente, y quizás de equipos informáticos y
documentos_
Para referirse a un fichero en un subdirectorio del disco duro se
usa algo como
/usr/local/misapps/docs
Las barras marcan cada división en la referencia al
fichero, y la secuencia es leida de izquierda a derecha_
El equivalente a la referencia a un fichero en LDAP es el
"distinguished name" (nombre distinguible), abreviado como "db"_
Un ejemplo de dn podría ser_
cn=Pedro Pérez,ou=Contabilidad,o=Mi Compañía,c=ES
Las comas marcan cada división en la referencia, y la
secuencia se lee de derecha a izquierda_ Este dn se leería
como:
country = ES
organization = Mi Compañía
organizationalUnit = Contabilidad
commonName = Pedro Pérez
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_ El mensaje es que no
se puede escribir código para acceder 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_
Configuración en tiempo de
ejecución
El comportamiento de estas
funciones está afectado por los valores definidos en
php_ini_
Tabla 1_ LDAP configuration options
| Name | Default | Changeable |
|---|
| ldap_max_links | "_1" | PHP_INI_SYSTEM |
For further details and definition of the PHP_INI_* constants see
ini_set()_
Usando las llamadas LDAP de PHP
Antes de usarse las llamadas LDAP se debe saber __
El nombre o dirección del servidor de directorio que se
va a usar
El "dn base" del servidor (la parte del directorio global
contenida en ese servidor, que puede ser por ejemplo "o=Mi
Compañia,c=ES")
Si es necesaria contraseña para acceder al servidor
(muchos servidores ofrecen acceso de lectura para usuarios
anónimos pero requieren un password para cualquier otro
acceso)
La secuencia típica de llamadas LDAP suele implementarse en
aplicaciones que siguen el siguiente patrón:
ldap_connect() // establecer la conexión con el servidor
|
ldap_bind() // login anónimo o autentificado
|
Hacer búsquedas o actualizaciones en el directorio
y mostrar los resultados
|
ldap_close() // Cerrar la conexión