LDAP für Java-Entwickler
Kommentare

Fallstricke
Falls der Versuch des Verbindungsaufbaus zum Verzeichnis Ihrer Wahl fehlschlägt
(„Can’t connect to LDAP Server“), kann dies verschiedene Ursachen
haben.
Wenn Sie sich in einem

Fallstricke

Falls der Versuch des Verbindungsaufbaus zum Verzeichnis Ihrer Wahl fehlschlägt („Can’t connect to LDAP Server“), kann dies verschiedene Ursachen haben.

Wenn Sie sich in einem Firmennetz bewegen, kann der Zugriff auf einen LDAP-Server im Internet insbesondere durch eine oder mehrere Firewalls versperrt sein. Möglicherweise dürfen Sie lediglich HTTP- und FTP-Dienste des Internets über einen Proxyserver Ihres Unternehmens nutzen. Die Administratoren werden aus Sicherheitsaspekten vorherrschende Gegebenheiten nicht ändern, nur um Ihnen Experimente mit LDAP zu ermöglichen. Als Auswege kommen daher lediglich die Verwendung eines firmeneigenen Verzeichnisses oder die Installation eines eigenen LDAP-Servers zu Testzwecken in Frage.

Abb. 3: Das Beispielverzeichnis eingebunden als Adressbuch (Mozilla Thunderbird)

Auf allen in Tabelle 1 aufgeführten Servern ist eine anonyme Anmeldung möglich, d.h., Sie brauchen keinen Benutzer und kein Kennwort anzugeben, um eine Verbindung herzustellen. Ein Verzeichnis in Ihrem Unternehmen kann jedoch auch so konfiguriert sein, dass Zugriffe lediglich nach einer Authentifizierung möglich sind. Ein Active Directory lässt beispielsweise für anonyme Nutzer standardmäßig nur einen sehr eingeschränkten, lesenden Zugriff zu. Wer mehr sehen will, muss sich explizit anmelden. Abbildung 4 zeigt die Registerkarte zur Einstellung von Benutzer und Kennwort in einem Verbindungsprofil des Softerra LDAP Browser. Für ein bestehendes Profil gelangen Sieüber das Kontextmenü und den Befehl PROPERTIES zu diesem Dialog.

Abb. 4: Anmeldeinformationen bei Softerra LDAP Browser

Normalerweise muss für den Benutzer der so genannte Distinguished Name (DN) angegeben werden. Falls Sie diesen für Ihre Kennung im Unternehmen nicht kennen, hilft Ihnen Ihr Verzeichnisadministrator sicherlich weiter. Im Falle eines Active Directory können Sie alternativ zum User DN die Zeichenkette „“ verwenden, in der Sie Ihren Domänennamen () und ihre Anmeldekennung () einsetzen. Die Schreibweise „@“ (z.B. „wthierse@bundestag.de“) wird ebenfalls vom Active Directory akzeptiert. Für den Verbindungsaufbau verwenden Sie das gleiche Kennwort wie beim Anmelden am Rechner.

Ein wenig stöbern

Nach erfolgreichem Verbindungsaufbau können Sie das gewählte Directory mit dem LDAP-Browser durchstöbern. Der allgemeine Aufbau von Verzeichnissen, die mit LDAP angesprochen werden können, ist stets gleich. Daten werden in so genannten Einträgen gespeichert, deren Gesamtmenge eine Baumstruktur bildet. Diese Struktur wird in vielen Browseroberflächen wie bei einer grafischen Dateisystemdarstellung visualisiert, in Abbildung 1 im linken Bereich zu sehen. Wählt man dort einen speziellen Eintrag aus, werden im rechten Bereich der Oberfläche die so genannten Attribute zu einem Eintrag angezeigt. Diese Schlüssel/Wert-Paare bilden den eigentlichen Eintrag und enthalten sämtliche gespeicherten Informationen. Unter den Attributen jedes Eintrags ist eines besonders ausgezeichnet. Es legt den relativen Namen innerhalb des übergeordneten Knotens fest und ist in dieser Ebene eindeutig (Relative Distinguished Name, RDN). Im Beispiel-Screenshot in Abbildung 1 ist dies für den ausgewählten Eintrag das Attribut „uid“ (User-ID) mit dem Wert „amerkel“ (links in der Baumdarstellung geschrieben als „uid=amerkel“). Wandert man im Verzeichnis ausgehend von einem Eintrag schrittweise im Baum nach oben und hängt diese relativen Namen durch Kommas separiert aneinander, entsteht ein innerhalb des Verzeichnisses eindeutiger Name (Distinguished Name, DN). Unter diesem ist der Eintrag direkt ansprechbar, der hier verwendete LDAP-Browser stellt ihn bei ausgewähltem Eintrag in der Titelzeile der Oberfläche dar (in Abbildung 1 ist dies „uid=amerkel,ou=personen, dc=bundestag,dc=de“).

Grundsätzlich lassen sich in Verzeichnissen alle nur erdenklichen Daten verwalten. Häufig werden Sie in öffentlichen und firmeneigenen Verzeichnissen Personen mit zugehörigen Kontaktdaten und Berechtigungen finden, so auch in unserem Bundestag. In einem Verzeichnis in Tabelle 1, nämlich Debian, sind beispielsweise auch Rechner und deren Eigenschaften (Verantwortlicher, Hard- und Softwareausstattung) gespeichert. Um was es sich bei einem Eintrag handelt, wird durch so genannte Objektklassen festgelegt, die sich anhand eines bestimmten Attributs für jeden Eintrag ablesen lassen. Diese Klassen legen wiederum fest, welche Attribute ein Eintrag haben kann und welche er sogar haben muss.

Jeder Eintrag, auf den Sie beim Stöbern im Verzeichnis treffen, genügt diesen allgemeinen Regeln. Vielleicht haben Sie beim Erkunden des Verzeichnisses bereits die Daten entdeckt, welche Sie in Ihre Java-Applikation integrieren wollen. Vielleicht planen Sie aber auch, ein Verzeichnis als Datenspeicher für Ihre Java-Anwendungen zu verwenden, d.h., Sie wollen selbst Daten dort ablegen. In jedem Fall sind Sie hoffentlich ein wenig neugierig geworden auf das, was folgt.

LDAP-Browser und -Editoren

Hier habe ich eine kleine Auswahl interessanter LDAP-Werkzeuge für unterschiedliche Plattformen zusammengestellt. Sie sind allesamt unabhängig von einer konkreten LDAP-Serverimplementierung.

  • GQ (Open Source): GTK-basierter LDAP-Browser, -Editor und Schema-Browser. Eine interessante Lösung vor allem für Unix-Systeme – leider wird GQ derzeit nicht weiterentwickelt.
  • JXplorer (Open Source): Ursprünglich von Computer Associates (CA) stammender LDAP-Browser mit reichhaltigem Funktionsumfang (Browser, Editor, Schema-Browser .). JXplorer ist eine reine Java-Lösung, es werden zahlreiche Plattformen mit nativen Installern unterstützt.
  • LDAP Browser/Editor (Freeware): Von Jarek Gawor in Java realisierte, einfache Applikation mit Swing GUI zum Lesen und Manipulieren von Verzeichnisinhalten.
  • Softerra LDAP Administrator (kommerziell): Professionelles Werkzeug für die Windows-Plattform. Schema-Browser, Template- und Schema-basiertes Anlegen neuer Einträge und vieles mehr.
  • Softerra LDAP Browser (Freeware): Der „kleine Bruder“ des Administrators (siehe Abbildung 1). Erlaubt lediglich das Browsen von Verzeichnissen und Schemata, nicht aber Änderungen oder LDIF-Imports. Wenn Sie die Einschränkung auf die Windows-Plattform nicht stört und Sie nur lesend zugreifen wollen, sehr zu empfehlen.
  • Eclipse-Plug-ins: Es gibt verschiedene Vorhaben im Open-Source-Bereich mit dem Ziel, LDAP Clients als Eclipse-Plug-ins zu realisieren. Leider reicht gegenwärtig keines in Reife und Funktionsumfang an die anderen hier vorgestellten Lösungen heran. Informieren Sie sich auf den einschlägigen Seiten über aktuelle Entwicklungen.
  • LUMA (Open Source): Mit Python und Qt realisiertes, grafisches Administrationswerkzeug für LDAP-basierte Verzeichnisse. Erlaubt das Browsen und Editieren von Einträgen und vieles mehr.
Informationen zu öffentlichen LDAP-Servern

Die folgenden Seiten stellen Listen mit den Verbindungsdaten öffentlicher LDAP-Server bereit. Eine geeignete Google-Suche fördert weitere zutage.

LDAP-fähige Serverprodukte

Freie Lösungen (Auswahl)

Kommerzielle Produkte (Auswahl)

Stefan Zörner arbeitet als IT-Architekt im IBM e-business Innovation Center in Hamburg. Er ist Buchautor, veröffentlicht regelmäßig Artikel (u.a. für das Java Magazin und developerWorks) und ist Sprecher auf Konferenzen. Sein Schwerpunkt liegt auf EAI- und Middleware-Themen.
Unsere Redaktion empfiehlt:

Relevante Beiträge

Meinungen zu diesem Beitrag

X
- Gib Deinen Standort ein -
- or -