ldap_search

ldap_search -- Busca en un arbol LDAP

Descripción

int ldap_search ( int identificador_de_conexion, string dn_base, string filtro [, array atributos])

Devuelve un identificador de resultado de búsqueda o falso en caso de error .

ldap_search( ) realiza la búsqueda según el filtro especificado con alcance LDAP_SCOPE_SUBTREE . Esto es equivalente a buscar en el directorio entero . dn_base especifica el DN base para el directorio .

Existe un cuarto parámetro opcional que puede ser añadido para restringir los atributos y valores devueltos por el servidor a sólo los requeridos . Es mucho más eficiente que la acción por defecto ( que devolverá todos los atributos y sus valores asociados ) . El uso del cuarto parámetro debe ser por tanto considerado una práctica recomendable .

El cuerto parámetro es un array estándar de PHP con los atributos requeridos , por ejemplo array( "email" ,"sn" ,"cn" ) . Nota : " dn " siempre es devuelto independientemente de que tipos de atributos sean solicitados .

También es necesario resaltar que algunos servidores de directorio están configurados para devolver un cierto número de entradas como máximo . Si esto ocurre , el servidor indicará que solo devuelve un conjunto de resultados parcial .

El filtro de búsqueda puede ser simple o avanzado , usando operadores booleanos en el formato descrito en la documentación sobre LDAP ( Consulte el Netscape Directory SDK para obtener completa información sobre filtros ) .

El ejemplo de abajo recupera la unidad organizativa ( ou) , apellidos nombre común y dirección de email para todas las personas de "Mi Compañía " donde los apellidos o el nombre común contiene la subcadena $persona . Este ejemplo usa un filtro booleano para indicar al servidor que busque la información en más de un atributo .

Ejemplo 1 . Búsqueda LDAP

 
/

 
/

 
$ds

 
es

 
un

 
identificador

 
de

 
conexión

 
válido

 
/

 
/

 
$persona

 
es

 
todo

 
o

 
parte

 
del

 
nombre

 
de

 
una

 
persona

 
,

 
por

 
ejemplo

 
"

 
Pe

 
"

 
$dn

 
=

 
"o=Mi

 
Compañía

 
,

 
c=ES"

 
;

 

$filtro="(|(sn=$persona*)(givenname=$persona*))"

 
;

 
$solonecesito

 
=

 
array

 
(

 
"ou"

 
,

 
"sn"

 
,

 
"givenname"

 
,

 
"mail")

 
;

 
$sr=ldap_search($ds

 
,

 
$dn

 
,

 
$filtro

 
,

 
$solonecesito)

 
;

 
$info

 
=

 
ldap_get_entries($ds

 
,

 
$sr)

 
;

 
print

 
$info["count"]

 
.

 
"

 
entradas

 
devueltas

 
p

 
"

 
;