Arbeiten mit Templates bei der Filterdefinition

Es sollen spezielle Objekte mit einer vorher definierten Informationsmenge (Attribute) ausgelesen werden. Als Verzeichnisdienst wird der OpenLDAP-Zugang der Universität von Michigan verwendet. Es wird als Kategorie "Benutzerdefinierte Suche" ausgewählt. Der Suchstring wird wie folgt definiert:

(&(objectClass=rfc822MailGroup)(cn=*%s*)(associatedDomain=itd.umich.edu))

Das bedeutet im Detail: Alle Objekte der Klasse "rfc822MailGroup", deren Attribute cn die in der Datei request.txt angegebene Zeichenkette enthält und das Attribut associatedDomain den Wert "itd.umich.edu" besitzt. Jede Zeile der Datei definiert gemeinsam mit dem Template den vollständigen Filter dieser Suchanfrage. Wenn die Datei drei Zeilen besitzt, werden drei Anfragen abgesetzt. Die Ergebnismenge wird dann im oberen Teil des Hauptfensters angezeigt.

(&(objectClass=rfc822MailGroup)(cn=*hostmaster*)(associatedDomain=itd.umich.edu))

Um die Antwortzeiten der Suche weiter zu optimieren, werden die Attribute ausschließlich auf die gewünschte Information reduziert. Zunächst wird das Attribut associatedDomain im lokalen Schema hinzugefügt. Danach wird ein neues Attributprofil mit dem Namen associatedDomain definiert.

Thumbnail image for ~/images/cont/articles/de/ldap-template-de.png

Aus der Attributliste wird nun das Attribut associatedDomain und dn ausgewählt. Die Konfiguration wird gespeichert.

Im Profil "UniversityofMichigan_SSL" wird jetzt in der Listbox Profile Attribute das Profil associatedDomain selektiert. Jetzt wird bei der Abfrage nur das Attribut bei der Suchanfrage berücksichtigt. Das Ergebnis liefert einen Eintrag:

dn associatedDomain cn
cn=hostmaster,ou=System Groups,ou=Groups,dc=umich,dc=edu umich.edu itd.umich.edu hostmaster dns-maintenance hostmasters

Wenn man den Filter wie folgt modifiziert:

(&(objectClass=rfc822MailGroup)(cn=*%s*)(associatedDomain=umich.edu)

werden in der Ergebnismenge 5 Treffer ermittelt. Die Anfrage mit dem Pattern:

dn associatedDomain cn
cn=hostmaster,ou=System Groups,ou=Groups,dc=umich,dc=edu umich.edu itd.umich.edu hostmaster dns-maintenance hostmasters
cn=bfhostmaster,ou=User Groups,ou=Groups,dc=umich,dc=edu umich.edu bfhostmaster
cn=lsa hostmaster,ou=User Groups,ou=Groups,dc=umich,dc=edu umich.edu lsa-hostmaster lsa hostmaster
cn=UMMC-Hostmaster,ou=User Groups,ou=Groups,dc=umich,dc=edu umich.edu UMMC-Hostmaster UMMC Hostmaster umhs-hostmaster med-hostmaster med hostmaster
cn=ieee-hostmaster,ou=User Groups,ou=Groups,dc=umich,dc=edu umich.edu ieee-hostmaster
(&(objectClass=rfc822MailGroup)(cn=*%s*)(associatedDomain=*)

liefert alle Elemente, die das Attribut associatedDomain überhaupt besitzen. Nimmt man weiterhin an, das ausschließlich die Zeichenketten "umich.edu" und "itd.umich.edu" existieren, muss die Suchanfrage zwangsläufig das Ergebnis aus den ersten beiden Versuchen enthalten, also 5 Treffer. Über diesen eleganten Weg lassen sich beliebig komplexe Strukturen auf einfache Weise auslesen. Im Beispiel "Statistiken im XML-Format" erfolgt eine grafische Visualisierung der Trefferliste.

Navigation Links