Sun Java System Communications Services 2005Q4 Versionshinweise

Client-LDAP-Konfiguration

Bei allen Client-Produkten, die mit Sun Java System Communications Services auf den Markt gebracht werden, können die Benutzer das Unternehmensverzeichnis sowie ihre eigenen Adressbücher durchsuchen. Dabei kann eine LDAP-Optimierung eine große Hilfe für den Benutzer darstellen.

In diesem Abschnitt werden folgende Themen behandelt:

Einrichten der internationalen Suche

Unabhängig davon, ob Sie Communications Express oder Connector für Microsoft Outlook verwenden, ist das Durchführen einer Suche in Ihren persönlichen Kontakten oder im öffentlichen Adressbuch für eine bestimmte Zeichenfolge ein für jede Ländereinstellung spezifischer Vorgang. Ein französischer Benutzer, der z.B. nach "Gaelle“ sucht, erwartet die Ausgabe von Einträgen mit der Zeichenfolge "Gaelle“, jedoch auch alle Einträge mit der Zeichenfolge "Gaëlle.“

Die verschiedenen Regeln, die bestimmen, wie die Einträge basierend auf der Ländereinstellung dargestellt werden, heißen Vergleichsregeln oder Zusammenstellungsreihenfolge. Die Zusammenstellungsreihenfolge bietet sprach- und kulturspezifische Informationen darüber, wie die Zeichen einer bestimmten Sprache sortiert werden sollen. Sie identifiziert Dinge, wie die Reihenfogle von Buchstaben im Alphabet, wie die Buchstaben mit Akzenten mit Buchstaben ohne Akzente verglichen werden und ob es Zeichen gibt, die beim Vergleichen von Zeichenfolgen ignoriert werden können. Die Zusammenstellungsreihenfolge berücksichtigt auch kulturspezifische Informationen über eine Sprache, wie die Richtung, in der die Sprache gelesen wird (von links nach rechts, von rechts nach links, von oben nach unten oder von unten nach oben).

Sun Java System Directory Server unterstützt eine Vielzahl von Ländereinstellungen und Vergleichsregeln (Siehe "Identifying Supported Locales“ in der Sun Java System Directory Server 5 2005Q1 Administration Reference). Je nach Benutzerumgebung müssen Sie zuerst die Ländereinstellung wählen, die in Ihrer Umgebung am sinnvollsten ist. Im Folgenden verwenden wir die englische (US) Ländereinstellung (OID = 1.3.6.1.4.1.42.2.27.9.4.34.1) als Beispiel.

Um anzugeben, welche Ländereinstellung für eine Suche verwendet werden soll, verwenden Sie die Vergleichsregel-Filtersyntax, die im Abschnitt "Searching an Internationalized Directory“ in der Sun Java System Directory Server 5 2005Q1 Administration Reference beschrieben wird. Mit dieser Syntax können Sie die Ländereinstellung sowie den Suchtyp (Gleichheit, Teilzeichenfolge usw.) angeben.

Folgender Filter führt z.B. einen Vergleich von Teilzeichenfolgen (.6) für das CN-Attribut durch, wobei die englischen (US) Vergleichsregeln verwendet werden (1.3.6.1.4.1.42.2.27.9.4.34.1). Der Filter durchsucht den CN nach Zeichenfolgen, die mit "Gae“ beginnen

cn:1.3.6.1.4.1.42.2.27.9.4.34.1.6:=Gae*

Aktualisieren der Indizes

Beim Durchführen einer LDAP-Suche sind die meisten Leistungsprobleme auf die Tatsache zurückzuführen, dass keine Indizes vorhanden sind oder diese nicht ordnungsgemäß konfiguriert sind. Standardmäßig ist Directory Server so konfiguriert, dass die von Communications Express oder Connector für Microsoft Outlook durchgeführten Suchen indiziert sind und innerhalb einer angemessenen Zeitspanne zurückgegeben werden sollten. Nichtsdestoweniger ist Directory Server nicht für internationale Suchen konfiguriert. Deshalb müssen die vorhandenen Indizes so geändert werden, dass die ausgewählten Vergleichsregeln berücksichtigt werden. Dies wird im Abschnitt "Managing Indexes“ im Sun Java System Directory Server 5 2005Q1 Administration Guide beschrieben.

So ist das CN-Attribut z.B. standardmäßig in der userRoot-Suffix indiziert:

# ldapsearch -D "cn=Directory manager" -b 
"cn=cn,cn=index,cn=userRoot,cn=ldbm database,cn=plugins,cn=config" 
"objectclass=*" 
cn=cn,cn=index,cn=userRoot,cn=ldbm database,cn=plugins,cn=config 
objectClass=top objectClass=nsIndex 
cn=cn 

nsSystemIndex=false 

nsIndexType=pres 

nsIndexType=eq 

nsIndexType=sub

Um sie mithilfe der englischen (US) Vergleichsregeln für internationale Suchen zu aktivieren, fügen Sie ein nsMatchingRule-Attribut mit der englischen (US) OID hinzu. Die Clients führen eine Teilzeichenfolgen-Suche aus, sodass es erforderlich ist, das Teilzeichenfolgen-Suffix (".6“) der OID hinzuzufügen:

#ldapmodify -D "cn=Directory manager"

dn: cn=cn,cn=index,cn=userRoot,cn=ldbm database, 

 cn=plugins,cn=config

changetype: modify

add: nsMatchingRule

nsMatchingRule: 1.3.6.1.4.1.42.2.27.9.4.34.1.6 

Hinweis –

Fügen Sie kein Leerzeichen, keinen Tabulator oder andere "unsichtbare" Zeichen am Anfang oder Ende des Wertes ein.



Hinweis –

nsMatchingRule ist ein mehrwertiges Attribut. Es können verschiedene Arten von Suchmethoden für dieselbe OID oder verschiedene OIDs hinzugefügt werden.


Anschließend müssen Sie das db2index.pl-Skript ausführen, das sich im Verzeichnis serverroot/slapd-instance befindet:

# perl db2index.pl -D "cn=Directory Manager" -w \ 
secret -n userRoot -t cn

Dieser Vorgang wird online ausgeführt und kann einige Zeit in Anspruch nehmen. Als Alternative kann jedoch auch das Suffix erneut initialisiert werden. Weitere Informationen finden Sie im Abschnitt "Reinitializing a Suffix“ im Sun Java System Directory Server 5 2005Q1 Administration Guide.

Die Konsole kann auch zum Hinzufügen der nsMatchingRule verwendet werden (siehe "Managing Indexes“ im Sun Java System Directory Server 5 2005Q1 Administration Guide).

In den folgenden Abschnitten erhalten Sie eine Liste mit den zu ändernden Indizes. Vergewissern Sie sich, dass keine nicht indizierte Suche durchgeführt wird. Prüfen Sie dazu die Zugriffsprotokolldatei von Directory Server (und suchen Sie in den Suchergebniseinträgen nach notes=U).

Konfigurieren des Suchfilters in Communications Express

Der von Communications Express verwendete Suchfilter muss für die Vergleichsregelsyntax geändert werden. Dies wird erreicht, indem die Vergleichsregelparameter aktiviert werden, die in der Datei db_config.properties (die sich im Verzeichnis deployed-path/WEB-INF/ldappstore (persönlicher Speicher) und im Verzeichnis deployed-path/WEB-INF/corp-dir (Unternehmensverzeichnis)) befindet.

Die Parameter sind:

# Collation Rule
# Uncomment below to apply collation rule

# collation_rule=en-US

# Search Fields for which collation rule should be applied.
# The fields provided here should be disambiguator formatted fields
# e.g. entry/displayname, person/givenname etc.
# Uncomment below to supply the comma-separated fields

# search_fields=entry/displayname

Heben Sie die Kommentierung der Parameter collation_rule und search_fields auf, um die Vergleichsregel zu aktivieren. Um einen anderen Satz mit Feldern in der Suche anzugeben, ändern Sie den Wert von search_fields zu den gewünschten Werten. Die collation_rule kann entweder den Sprachkennzeichner oder die OID enthalten, die dieser Sprache entspricht (im Beispiel 1.3.6.1.4.1.42.2.27.9.4.34.1), ohne das Suffix, das den Suchtyp angibt. Die Webcontainerinstanz muss gestartet werden, nachdem die Änderung durchgeführt wurde.

Die folgenden Attribute sollten auf dem LDAP-Server indiziert werden, damit eine internationale Suche nach Communications Express durchgeführt werden kann:

Anonymer Zugriff auf das Unternehmensverzeichnis

Connector für Microsoft Outlook kann so konfiguriert werden, dass eine Bindung mithilfe eines DN und Passworts oder anonym erfolgt. Um den anonymen Zugriff auf das Unternehmensverzeichnis zu aktivieren, fügen Sie auf der Root-Ebene der ou=people/ou=group-Teilbäume eine ACL hinzu.

Wenn die Root-Ebene z.B. dc=red,dc=sesta,dc=com lautet, gehen Sie wie folgt vor:

#ldapmodify -D "cn=Directory manager" 
dn: dc=red,dc=sesta,dc=com 
changetype: modify 
add: aci 
aci: (targetattr != "userPassword") 
  (version 3.0;acl "Anonymous access"; 
  allow (read,compare,search)
  (userdn = "ldap:///anyone");)

Durchsuchen von Verzeichnissen

Neu in dieser 7 2005Q4-Version ist, dass der Endbenutzer in Connector für Microsoft Outlook jetzt Verzeichnisse durchsuchen darf. Beim Aufrufen der Adressbuchseite werden die ersten 10 Einträge im Verzeichnis dargestellt. Der Benutzer kann dann nach oben und unten blättern oder einige Zeichen eingeben. Die Ergebnisse werden automatisch aktualisiert. Dies ist eine Änderung von den Vorgängerversionen von Connector für Microsoft Outlook, in denen der Benutzer lediglich nach einem bestimmten Benutzer suchen konnte.

Um diese Funktion zu aktivieren und gleichzeitig eine hohe Leistung zu gewährleisten, verlässt sich der Connector auf zwei LDAP-Erweiterungen namens Virtual List View (VLV) und Server Side Sorting von Suchergebnissen (RFC 2891). Im folgenden ldapsearch-Beispiel wird die Liste mit unterstützten Steuerelementen ausgegeben:

# ldapsearch -s base "objectclass=*" supportedControl 
supportedControl=2.16.840.1.113730.3.4.2 
supportedControl=2.16.840.1.113730.3.4.3 
supportedControl=2.16.840.1.113730.3.4.4 
supportedControl=2.16.840.1.113730.3.4.5 
supportedControl=1.2.840.113556.1.4.473  ------> Server Side Sort Control 
supportedControl=2.16.840.1.113730.3.4.9 ------> VLV Control 
supportedControl=2.16.840.1.113730.3.4.16 
supportedControl=2.16.840.1.113730.3.4.15 
supportedControl=2.16.840.1.113730.3.4.17 
supportedControl=2.16.840.1.113730.3.4.19 
supportedControl=1.3.6.1.4.1.42.2.27.9.5.2 
supportedControl=1.3.6.1.4.1.42.2.27.9.5.6 
supportedControl=2.16.840.1.113730.3.4.14 
supportedControl=1.3.6.1.4.1.1466.29539.12 
supportedControl=2.16.840.1.113730.3.4.12 
supportedControl=2.16.840.1.113730.3.4.18 
supportedControl=2.16.840.1.113730.3.4.13

Sun Java System Directory Server unterstützt beide Steuerelemente. Das VLV-Steuerelement steht standardmäßig nur authentifizierten Benutzern zur Verfügung:

ldapsearch -D "cn=Directory Manager" -b \
"oid=2.16.840.1.113730.3.4.9,cn=features,cn=config" \
"objectclass=*" aci oid=2.16.840.1.113730.3.4.9,cn=features,cn=config \
aci=(targetattr != "aci")(version 3.0; acl "VLV Request Control"; \
allow( read, search, compare, proxy ) userdn = "ldap:///all";)

Um dem VLV-Steuerelement anonymen Zugriff zu gewähren, fügen Sie die entsprechende ACI hinzu:

#ldapmodify -D "cn=Directory Manager" \
dn: oid=2.16.840.1.113730.3.4.9,cn=features,cn=config \
changetype: modify add: aci aci: (targetattr !="aci")\
(version 3.0; acl "VLV Request Control"; allow (compare,read,search) \
userdn = "ldap:///anyone"; )

Um die Leistung von Suchvorgängen zu verbessern, für die VLV plus Sort erforderlich ist, erstellen Sie einen Index zum Durchsuchen im Directory Server (wie im Abschnitt "Managing Browsing Indexing“ im Sun Java System Directory Server 5 2005Q1 Administration Guide beschrieben). Jeder Index zum Durchsuchen ist auf einen Basis-DN, einen Suchfilter, einen Bereich und ein Sortierattribut abgestimmt. Die VLV-Einstellungen können mit dem Bereitstellungs-Konfigurationstool auf Clientseite optimiert werden.

In diesem besonderen Fall muss ein Index zum Durchsuchen für einen Basis-DN erstellt werden, der dc=red,dc=iplanet,dc=com entspricht, einen Filter, der (&(mail=*)(cn=*)) entspricht, wobei nach dem cn-Attribut sortiert wird. Die Informationen des Index zum Durchsuchen werden der Konfiguration mit dem Basis-DN (in diesem Fall userRoot) hinzugefügt:

#ldapmodify -D "cn=Directory Manager" 
dn: cn=Browsing red.sesta.com,cn=userRoot, 
cn=ldbm database,cn=plugins,cn=config 
changetype: add 
objectClass: top 
objectClass: vlvSearch 
cn: Browsing red.sesta.com 
vlvbase: dc=red,dc=sesta,dc=com 
vlvscope: 2 
vlvfilter: (&(mail=*)(cn=*)) 
aci: (targetattr="*") 
(version 3.0; acl "VLV for Anonymous"; 
allow (read,search,compare) 
userdn="ldap:///anyone";) 
dn: cn=Sort by cn, cn=Browsing red.sesta.com,cn=userRoot, 
cn=ldbm database,cn=plugins,cn=config 
changetype: add 
objectClass: top 
objectClass: vlvIndex 
cn: Sort by cn 
vlvSort: cn 

Führen Sie in einem nächsten Schritt den Befehl vlvindex unter serverroot/slapd-instance aus:

# ./vlvindex -n userRoot -T "Sort by cn"