Tópico anterior: Parâmetros de entradaPróximo tópico: Nomes dos atributos comuns do LDAP


Noções básicas do filtro de pesquisa do LDAP

A sintaxe do filtro de pesquisa do LDAP sintaxe é uma expressão lógica em notação de prefixo, em que o operador lógico aparece antes dos argumentos associados.

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

No filtro acima & é o operador E e aparece antes de seus argumentos. Neste exemplo, estamos procurando objetos LDAP com John como givenname (givenname é o atributo LDAP do nome) e SN como Green (SN é o atributo LDAP para sobrenome).

Cada item no filtro é composto usando um identificador de atributo LDAP e um valor de atributo ou símbolos que indicam o valor do atributo. Cada item também deve ser incluído em um conjunto de parênteses, como em "(sn =Green)".

Itens dentro de um filtro são combinados juntos usando operadores lógicos para criar expressões lógicas. Cada expressão lógica pode ainda ser combinada com outros itens que também são expressões lógicas, como em alguns dos filtros usados em CA Process Automation:

(&(|(objectclass=usuário)(objectclass=pessoa))(!(objectclass=computador)))

Nesse filtro, estamos buscando todos os objetos em que objectclass é um usuário OU uma pessoa:

(|(objectclass=usuário)(objectclass=pessoa))

E o objectclass não é computador

(! (objectclass =computador))

Observe o & no início do filtro que combina esses dois segmentos juntos em um lógico E.

Observe que o objectClass do atributo LDAP armazena o (s) tipo (s) de um objeto LDAP no diretório LDAP.

Alguns dos operadores lógicos usados para a criação de filtros estão listados na tabela a seguir:

Símbolo

Descrição

=

Igualdade

Exemplo: (givenname =John)

Pesquisar objetos com John como primeiro nome.

&

Lógico E

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

Pesquisar objetos com John, como nome e Green como sobrenome

|

Lógico OU

Exemplo:(| (givenname =João) (givenname =Michael))

Pesquisar objetos com John ou Michael como nome

!

Lógico NÃO

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

Pesquisar objetos com John como nome em que Green não seja o sobrenome

>=

Maior que

Exemplo:(numsubordinates <=2)

Pesquisar objetos com 2 ou mais nós filhos na árvore LDAP.

<=

Menor que

Exemplo:(numsubordinates <=2)

Pesquisar objetos com 2 ou menos nós filhos na árvore LDAP.

=*

Presença

O objeto deve ter o atributo, mas seu valor é irrelevante.

Exemplo:(givenname =*)

Pesquisar objetos com o atributo givenName.

*

Caractere curinga

Exemplo:(givenname =Joh *)

Pesquisar objetos cujo givenname começa com Joh