Vorheriges Thema: EingabeparameterNächstes Thema: Allgemeine LDAP-Attributnamen


Grundlagen zu LDAP-Suchfiltern

Die LDAP-Suchfiltersyntax ist ein logischer Ausdruck in Präfixnotation, wobei der logische Operator vor den zugeordneten Argumenten angezeigt wird.

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

Im Filter oben ist & der UND-Operator, und er wird vor seinen Argumenten angezeigt. In diesem Beispiel suchen wir nach LDAP-Objekten mit John als givenname (givenname ist das LDAP-Attribut für Vornamen) und Green als sn (sn ist das LDAP-Attribut für Nachnamen).

Jedes Element im Filter wird mithilfe eines LDAP-Attributbezeichners und entweder eines Attributwerts oder Symbolen, die den Attributwert anzeigen, gebildet. Jedes Element muss zudem in Klammern gesetzt werden, wie in "(sn=Green)".

Elemente innerhalb eines Filters werden mithilfe logischer Operatoren kombiniert, um logische Ausdrücke zu erstellen. Jeder logische Ausdruck kann wiederum mit anderen Elementen, die logische Ausdrücke sind, kombiniert werden. Dies ist bei einigen in CA Process Automation verwendeten Filtern so:

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

In diesem Filter wird nach allen Objekten gesucht, bei denen "objectclass" den Wert "user" ODER "person" enthält:

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

UND "objectclass" ist nicht gleich "computer"

(!(objectclass=computer))

Beachten Sie das Symbol & am Anfang des Filters, mit dem diese beiden Segmente zu einem logischen UND verbunden werden.

Beachten Sie, dass das LDAP-Attribut "objectclass" den Typ eines LDAP-Objekts im LDAP-Verzeichnis speichert.

Einige logische Operatoren, die zum Erstellen von Filtern verwendet werden, sind in der folgenden Tabelle aufgelistet:

Symbol

Beschreibung

=

Gleichheit

Beispiel: (givenname=John)

Nach Objekten mit John als Vorname suchen.

&

Logisches UND

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

Nach Objekten mit John als Vorname und Green als Nachname suchen

|

Logisches ODER

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

Nach Objekten mit John oder Michael als Vorname

!

Logisches NICHT

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

Nach Objekten mit John als Vorname und nicht Green als Nachname suchen

>=

Größer als

Beispiel: (numsubordinates>=2)

Nach Objekten mit 2 oder mehr untergeordneten Knoten in der LDAP-Struktur suchen.

<=

kleiner als

Beispiel: (numsubordinates<=2)

Nach Objekten mit 2 oder weniger untergeordneten Knoten in der LDAP-Struktur suchen.

=*

Vorhandensein

Das Objekt muss über das Attribut verfügen, sonst ist sein Wert irrelevant.

Beispiel: (givenname=*)

Nach Objekten mit dem Attribut "givenname" suchen.

*

Platzhalter

Beispiel: (givenname=Joh*)

Nach Objekten suchen, deren Attribut "givenname" mit "Joh" anfängt