Ich habe verschiedene Codeteile geschrieben, die eine Verbindung zu LDAP-Servern herstellen und Abfragen ausführen, aber für mich war es immer Voodoo. Eine Sache, die ich nicht wirklich verstehe, ist das Konzept eines Bind-DN. Hier ist ein Beispiel für die Verwendung des ldapsearch
Befehlszeilentools von openldap. (Ignorieren Sie die fehlende Authentifizierung.)
ldapsearch -h 1.2.3.4 -D dc=example,dc=com [query]
Was ist der Zweck und die Funktion -D dc=example,dc=com
dieses Teils? Warum müssen wir uns an einen bestimmten Ort in der Verzeichnishierarchie binden? Soll festgelegt werden, für welchen Teil des Verzeichnisses meine Abfragen gelten sollen? Wenn der Wurzelknoten des Verzeichnisses beispielsweise dc=com
zwei untergeordnete Knoten ( dc=foo
und dc=bar
) hat, möchte ich, dass sich meine Abfragen auf den dc=foo,dc=com
Teilbaum und nicht auf den dc=bar,dc=com
Teilbaum beziehen.