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 |
|
Copyright © 2013 CA.
Alle Rechte vorbehalten.
|
|