Ein LDAP-Verzeichnis ist eine Liste mit detaillierten Informationen zu Objekten, die in einer bestimmten Reihenfolge angeordnet sind. LDAP ist eine spezialisierte Datenbank, die sich durch ihre Kenndaten von allgemein verwendeten relationalen Datenbanken unterscheidet. Verzeichnisse sind vornehmlich dadurch gekennzeichnet, dass sie viel häufiger gelesen oder durchsucht werden, als Updates (Schreiboperationen) ausgeführt werden. Hunderte von Benutzern können die Telefonnummer einer Personen suchen. Die Telefonnummer selbst ändert sich jedoch nur selten.
Mit IBM Telephone Directory Version 5.2 können Sie Einträge in einem
vorhandenen Verzeichnis durchsuchen, anzeigen und verwalten oder ein neues Verzeichnis erstellen. Die Anwendung nutzt einen LDAP-Verzeichnisserver zum
Speichern und Abrufen von Daten. Der LDAP-Server wird standardmäßig automatisch auf Ihrem Server konfiguriert,
sofern es in Ihrem Netz nicht bereits einen LDAP-Server gibt. Der LDAP-Server muss sich nicht auf demselben Server wie der Anwendungsserver befinden. Sie können auch einen Domino-LDAP-Server mit IBM Telephone Directory verwenden. Weitere Informationen können Sie dem
Redpaper WebSphere Application Server Express entnehmen.
Der Zugriff auf den LDAP-Server erfolgt über TCP/IP.
LDAP-Einträge
Die einzige Standardeinstellung der Installation von IBM Telephone Directory Version 5.2 ist die Berechtigung für Benutzer, das Verzeichnis anonym zu durchsuchen.
Wenn Sie mit der Anwendung IBM Telephone Directory Version 5.2 einen Eintrag zum Verzeichnis hinzufügen, wird unter dem übergeordneten DN des Benutzers mit der Benutzer-ID ein Eintrag erstellt. Wenn Sie beispielsweise Peter Fischer unter dem übergeordneten DN cn=users,dc=meinhost,dc=meinefirma,dc=com registrieren, lautet sein LDAP-Eintrag cn=Peter Fischer,cn=users,dc=meinhost,dc=meinefirma,dc=com. Das Update des übergeordneten DN ist dem Benutzer und dem Administrator für IBM Telephone Directory Version 5.2 verborgen. Objekte in einem Verzeichnis werden nach einem DN-Attribut (definierter Name) referenziert. Während der Authentifizierung wird Peter aufgefordert, seine Benutzer-ID anzugeben. Er muss die Benutzer-ID eingeben, die bei der Registrierung angegeben wurde. In diesem Beispiel ist sein Benutzername Peter Fischer.
Vorhandene Verzeichniseinträge können durchsucht, angezeigt und verwaltet werden, wenn sie auf der Standardobjektklasse inetOrgPerson basieren. Dies ist eine Klasse nach Industrienorm, die im Allgemeinen zum Präsentieren und Speichern von Angaben zu Personen (z. B. von Vor- und Nachnamen, Telefonnummern und E-Mail-Adressen) verwendet wird. Das Verzeichnis kann Einträge für weitere Objektklassen enthalten, z. B. für Objektklassen, die die Anwendung zum Durchsuchen des Verzeichnisses verwendet. Die Standardobjektklasse ist jedoch inetOrgPerson.
Zu Verzeichniseinträgen, die von der Anwendung modifiziert werden, wird die Hilfsobjektklasse ibm-itdPerson hinzugefügt. Die Objektklasse ibm-itdPerson ermöglicht der Anwendung IBM Telephone Directory Version 5.2, zusätzliche Attribute zu verwenden, die bei Standardobjektklassen nicht verfügbar sind. Zu diesen zusätzlichen Attributen gehören eine alternative Telefonnummer, eine Zweitanschrift, DN-Werte für Assistenten und Vertretungen sowie Informationen zum Arbeitsplatz, z. B. Zuständigkeit oder Marketing- und Vertriebsgebiet. Alle Attribute der Hilfsobjektklasse ibm-itdPerson sind optional. Die Klasse wird hinzugefügt, um zusätzliche Informationen zu einer Person speichern zu können, die in der Objektklasse inetOrgPerson nicht enthalten sind.
Wenn die Anwendung eine Anforderung empfängt, muss sie eine Verbindung zum LDAP-Server herstellen, um die Anforderung bearbeiten zu können. Anforderungen werden unter der Berechtigung des angegebenen Benutzers ausgeführt. Die Anwendung verwendet für die Herstellung der Verbindung zum LDAP-Server ggf. Berechtigungsnachweise, die in HTTP-Anforderungen übergeben werden. Für einige Anforderungen benötigt die Anwendung Berechtigungsnachweise, z. B. für eine Anforderung nach Erstellung, Aktualisierung oder Löschung von Einträgen. Berechtigungsnachweise, die für das Hinzufügen neuer Einträge erforderlich sind, werden vom Administrator bereitgestellt, wenn die offene Registrierung aktiviert ist.
Sind für Suchanforderungen keine Berechtigungsnachweise erforderlich, stellt die Anwendung per Anonymous Bind eine Verbindung zum LDAP-Server her, um das Verzeichnis zu durchsuchen. Für den anonymen Suchzugriff muss das Konfigurationsmerkmal Verzeichniszugriff auf Anonym (keine Anmeldung) gesetzt sein. Sind für Suchanforderungen Berechtigungsnachweise erforderlich, stellt die Anwendung mit den Benutzerberechtigungsnachweisen, die in den HTTP-Anforderungen übergeben werden, eine Verbindung zum LDAP-Server her. Werden keine Berechtigungsnachweise angegeben, scheitert die Anforderung. Für den Suchzugriff mit Authentifizierung muss das Konfigurationsmerkmal Verzeichniszugriff auf Anmeldung erforderlich gesetzt sein. Weitere Informationen hierzu finden Sie im Artikel Verzeichniszugriff modifizieren.
Der LDAP-Server steuert, welche Benutzer berechtigt sind und ob Anforderungen dieser Benutzer scheitern oder erfolgreich ausgeführt werden. Dazu gehören auch anonyme Benutzeranforderungen. Alle Autorisierungseinstellungen für das Verzeichnis werden vom LDAP-Server angegeben und gesteuert. Die Anwendung wandelt HTTP-Anforderungen in LDAP-Anforderungen um, gewährleistet, dass Berechtigungsnachweise geschützt und sicher für den LDAP-Server bereitgestellt werden, und formatiert die LDAP-Ergebnisse (Erfolg oder Scheitern) wie HTML-Seiten, die einem einfachen Adressbuch ähnlich sind.
Die Berechtigungsnachweise, mit denen die Anwendung die Verbindung zum LDAP-Server herstellt, werden von Benutzern angegeben. Berechtigungsnachweise von Benutzern werden nicht für die Verbindung zum LDAP-Server benutzt, wenn die offene Registrierung angegeben ist. Bei der offenen Registrierung werden die Berechtigungsnachweise in der Konfigurationsdatei der Anwendung gelesen. Für die Authentifizierung des Benutzers ist ggf. der HTTP Server erforderlich. Die Anwendung verwendet die für jede Anforderung angegebenen Berechtigungsnachweise erforderlichenfalls zum Herstellen einer Verbindung zum LDAP-Server. Die Anwendung stellt Berechtigungsnachweise nicht in den Cache und verwendet LDAP-Verbindungen auch nicht mehrfach für die Bearbeitung mehrerer HTTP-Anforderungen. Eine LDAP-Verbindung wird nach Beendigung einer Anforderung getrennt. Damit wird verhindert, dass die Anwendung mit den Berechtigungsnachweisen eines Benutzers eine Verbindung herstellt, um die Anforderung eines anderen Benutzers auszuführen. Stellt der HTTP Server nicht die Berechtigungsnachweise bereit, die für die Verbindung zum LDAP-Server erforderlich sind, scheitert die Anwendung.