Aide COMSpace - Recherche
Recherche d'objets
Il est possible de rechercher des objets stockés dans votre base de données
(par défaut, un serveur ldap) en saisissant directement un ou plusieurs éléments
d'information relatifs à ces objets.
Ces informations peuvent consister d'une ou de plusieurs valeurs d'attributs
de cet objet. La construction de cette expression de recherche dépend
du 'backend' utilisé. Par défaut, c'est un serveur ldap et il faut
fournir une expression (appelée aussi 'filtre' ('filter')) compatible
avec le standard ldap.
Exemples de base
La manière la plus simple de rechercher un objet est de construire
un filtre qui contient la clé de l'attribut recherché et la valeur,
concaténée avec le signe égal :
sn=test
Si plusieurs objets ont l'attribut sn positionné à 'test', la liste
de tous ces objets sera retournée. Pour être précis, la liste
comprend leur chemin d'accès, c'est à dire, selon la convention ldap, leur 'distinguish
name' (dn).
L'expression peut également inclure des 'wildcards' pour signifier 'n'importe quoi' :
sn=*test*
Exemples avancés
Si on veut effectuer une recherche multi-critères, l'expression de recherche
doit être de la forme :
(&(sn=test)(gidnumber=100))
Ce filtre provoque une recherche sur le serveur ldap des objets dont sn est 'test'
et dont le uidnumber est '100'. Chaque paire clé=valeur doit apparaître
entre paranthèses, ainsi que l'expression en entier.
L'opération est spécifiée en premier (ici, '&' qui signifie
l'opération 'and'). Une autre opération pourrait être '|' pour
l'opération 'or'.
On peut combiner plusieurs opérations et conditions :
(&(|(uid=foo)(uid=bar))(objectclass=posixaccount))
Le résultat contiendra tous les objets dont l'uid est ou bien 'foo'
ou bien 'bar', et donc l'attribut objectclass est posixaccount.