Suche nach Objekten

Sie können nach verschiedenen Objekten in ihrer Datenbank (normalerweise ein LDAP Server) suchen, indem sie bekannte Attributwerte als Suchkriterien eingeben. Das Format der Zeichenkette, die zum Suchen verwendet werden soll, ist abhängig von der verwendeten Datenbank. Im Falle eines LDAP Servers wird diese Zeichenkette auch "Filter" genannt und muß nach den Regeln im LDAP Standard aufgebaut sein.

Einfache Beispiele

Der einfachste Weg nach einem Objekt zu suchen ist, einen Filter aufzubauen der den Attributnamen und einen Attributwert enthält. Beide Zeichenketten müssen durch ein Gleichheitszeichen getrennt werden:

sn=test

Sollte es mehr als ein Objekt geben, das ein Attribut "sn" mit dem Wert "test" enthält, so wird eine Listen mit den in Frage kommenden Objekten zurück gegeben. Genauer gesagt wird eine Liste von Pfaden (bei LDAP "distinguish name" oder auch "dn" genannt) zu diesen Objekten zurück gegeben.

Es ist auch möglich Platzhalter wie "*" zu benutzen um alle Objekte zu bekommen, die "test" als Teil von "sn" enthalten:

sn=*test*

Fortgeschrittene Beispiele

Falls das Ergebnis auf Objekte beschränkt sein soll, die mehrere Bedingungen erfüllen, so kann man eine Zeichenkette ähnlich wie dieser als Filter benutzen:

(&(sn=test)(gidnumber=100))

Dieser Filter veranlasst den LDAP Server nach Objekten zu suchen, die "test" im Attribut "sn" enthalten und deren "gidnumber" 100 ist. Dabei ist zu beachten, daß jedes Attribut/Wert Paar sowie der gesamte Ausdruck von Klammern umschlossen sein muß. Die Art der Verknüpfung wird dabei immer zuerst angegeben. Das Zeichen "&" steht in diesem Fall für eine UND Verknüpfung, "|" würde ODER bedeuten.

Es können auch mehrere Operatoren und Bedingungen kombiniert werden:

(&(|(uid=foo)(uid=bar))(objectclass=posixaccount))

Das Ergebnis wird in diesem Fall alle Objekte beinhalten, deren "uid" entweder "foo" oder "bar" ist und gleichzeitig im "objectclass" Attribut den Wert "posixaccount" enthält.