Tema anterior: Parámetros de entradaTema siguiente: Nombres de atributo de LDAP comunes


Principios básicos del filtro de búsqueda de LDAP

La sintaxis de filtro de búsqueda de LDAP es una expresión lógica en la notación de prefijo, donde el operador lógico aparece delante de los argumentos asociados.

Por ejemplo: (&(givenname=John)(sn=Green))

En el filtro anterior, & es el operador Y, y aparece delante de los argumentos. En este ejemplo, estamos buscando objetos LDAP con John como givenname (givenname es el atributo LDAP para el nombre), y sn como Green (sn es el atributo LDAP para el apellido).

Cada elemento en el filtro se compone utilizando un identificador de atributo LDAP y un valor de atributo o símbolos que indican el valor de atributo. Cada elemento deberá estar encerrado también entre un conjunto de paréntesis, como en "(sn=Green)".

Los elementos dentro de un filtro se combinan utilizando operadores lógicos para crear expresiones lógicas. Cada expresión lógica se puede combinar más con otros elementos que en sí son expresiones lógicas, como en algunos de los filtros utilizados en CA Process Automation:

(&(|(objectclass=user)(objectclass=person))(!(objectclass=computer)))

En este filtro, estamos buscando todos los objetos donde objectclass sea user O person:

(|(objectclass=user)(objectclass=person))

Y objectclass no es equipo

(!(objectclass=computer))

Observe el & al inicio del filtro que combina estos dos segmentos en una operación lógica Y.

Observe que el atributo LDAP objectclass almacena los tipos de un objeto LDAP en el directorio de LDAP.

Algunos de los operadores lógicos utilizados para crear filtros se enumeran en la tabla siguiente:

Símbolo

Descripción

=

Igualdad

Ejemplo: (givenname=John)

Busca objetos con John como nombre.

&

Operación lógica Y

Ejemplo: (&(givenname=John)(sn=Green))

Busca objetos con John como nombre y Green como apellido

|

Operación lógica O

Ejemplo: (|(givenname=John)(givenname=Michael))

Busca objetos con John o Michael como nombre

!

Operación lógica NO

Ejemplo: (&(givenname=John)(!(sn=Green)))

Busca objetos con John como nombre y apellido distinto a Green

>=

Mayor que

Ejemplo: (numsubordinates>=2)

Busca objetos con 2 o más nodos hijo en el árbol de LDAP.

<=

Menor que

Ejemplo: (numsubordinates<=2)

Busca objetos con 2 o menos nodos hijo en el árbol de LDAP.

=*

Presencia

El objeto debe tener el atributo, pero su valor es irrelevante.

Ejemplo: (givenname=*)

Busca objetos con el atributo givenname.

*

Comodín

Ejemplo: (givenname=Joh*)

Busca objetos cuyo nombre empieza con Joh.