LDAP-Authentifizierung
LDAP (Lightweight Directory Access Protocol) ist ein Internetprotokoll für den Zugriff auf und die Verwaltung von verteilten Verzeichnisinformationsservices über ein Netz. Wenn Sie LDAP einsetzen, um Benutzer für Webanwendungen zu authentifizieren, nehmen Sie sich etwas Zeit und lesen Sie diesen Abschnitt durch, bevor Sie beginnen.
Richtlinien für die Programmierung
- Nur eine LDAP-Schnittstelle verwenden: Benutzer können nur über eine Verbindung mit einem LDAP-Server authentifiziert werden.
- Active Directory: Die Verwendung einer Active Directory-Schnittstelle ist untersagt, jedoch wird die LDAP-Authentifizierung mit Active Directory unterstützt.
- Administratoreigenschaften: Der LDAP-Administrator muss Zugriff auf alle LDAP-Eigenschaften des Benutzers haben.
| Attribut | Begriffsbestimmung |
|---|---|
mail |
Die SMTP-E-Mail-Adresse des Benutzers. |
cn |
Wird intern zur Festlegung des allgemeinen Namens des Benutzers verwendet. |
sn |
Wird intern zur Festlegung des Nachnamens des Benutzers verwendet. |
givenname |
Wird intern zur Festlegung des Vornamens des Benutzers verwendet. |
Präfix aus Search dn |
Wird als Benutzername verwendet. |
Verwenden eines LDAP-Servers zur Benutzerauthentifizierung
attribute=value, die durch Kommas voneinander getrennt sind. Zum Beispiel:cn=Ben Gray,ou=editing,o=New York Times,c=US
cn=Lucille White,ou=editing,o=New York Times,c=US
cn=Tom Brown,ou=reporting,o=New York Times,c=USSämtliche im Verzeichnisschema definierten Attribute können zur Bildung eines DN verwendet werden. Die Reihenfolge der Komponentenattribut-Wertepaare ist wichtig. Der DN enthält jeweils eine Komponente für die einzelnen Ebenen der Verzeichnishierarchie vom Stammelement abwärts bis zur Ebene, auf der sich der Eintrag befindet. LDAP-DNs beginnen mit dem spezifischsten Attribut (im Allgemeinen eine Art von Name) und gehen mit zunehmend größeren Attributen weiter, die oft mit einem Länderattribut enden. Die erste Komponente des DN wird als Relative Distinguished Name (RDN) bezeichnet. Der RDN unterscheidet einen Eintrag eindeutig von anderen Einträgen, die dasselbe übergeordnete Element haben. In den vorherigen Beispielen trennt der RDN "cn=Ben Gray" den ersten vom zweiten Eintrag (mit dem RDN "cn=Lucille White"). Ansonsten sind diese beiden Beispiel-DNs äquivalent. Das attribute=value-Paar, das den RDN für einen Eintrag bildet, muss ebenso im Eintrag vorhanden sein. (Dies gilt nicht für die anderen Komponenten des DN.)
Beispiele
uid= und das Suffix ")" ist, wird uid zum Benutzernamensattribut. Der verwendet Standardsuchfilter lautet: (|(cn={filter}*)(sn={filter}*)(mail={filter}*)(givenName={filter})) und für das Präfix verwendete Attribute werden auch dem Suchfilter hinzugefügt. Für den Fall, dass '(uid=' das Präfix ist, ergibt sich beim Suchen nach Benutzern der folgende Suchfilter: (|(cn={filter}*)(sn={filter}*)(mail={filter}*)(givenName={filter}*)(uid={filter}*))Dabei wird {filter} durch den tatsächlichen Text ersetzt.Der authentifizierte Bindungs-DN ist ein Benutzer auf dem externen LDAP-Server mit der Berechtigung zum Abrufen von Basis-DNs und zum Durchsuchen des LDAP-Verzeichnisses innerhalb der definierten Suchbasis. Er sollte auch andere Benutzereigenschaften lesen und verwendet werden können, wenn anonymer Zugriff nicht zulässig ist, um Basis-DNs abrufen und Benutzerattribute durchsuchen bzw. darauf zugreifen zu können. Wenn eine Suche für Steve durchgeführt wird, wird der im folgenden Beispiel gezeigte LDAP-Abfragefilter verwendet und die Suche erfolgt anhand des in der Benutzerschnittstelle angegebenen Basis-DN. Wenn der DN des Benutzers zurückgegeben wird, dienen der DN und das Kennwort zur Authentifizierung des Benutzers:
(|(cn=Steve*)(sn=Steve*)(mail=Steve*)(givenName=Steve*)(uid=Steve*)).Zur Bindung während Anmeldeaufrufen ist das Präfix der verwendete Suchbegriff. Beispiel: Wenn das Präfix '(uid=' lautet, ergibt sich der folgende verwendete Suchbegriff für die Suche nach einem Benutzer während der Anmeldung: (uid=Steve).- Verwenden des Mailattribut als Benutzername
- Wenn Sie eine E-Mail-Adresse als Benutzernamen verwenden möchten (z. B. steve@company.com), verwenden Sie in der Regel das Mailattribut als Präfix '(
mail='. Verwenden Sie in diesem Fall den folgenden Suchbegriff, um die Suche intern auszuführen (wobei '(mail=' als Präfix angenommen wird):
Für das vorherige Beispiel gilt: Wenn der DN gefunden wurde, wird das Kennwort mit dem DN zur Durchführung des Bindens verwendet. Das erste Ergebnis wird herangezogen. Vergewissern Sie sich also, dass Sie für den Benutzernamen ein eindeutiges Attribut verwenden. Als Nächstes werden die LDAP-Eigenschaften für den Benutzer gelesen ((|(cn=steve@company.com*)(sn=steve@company.com*)(mail=steve@company.com*) (givenName=steve@company.com*)(mail=steve@company.com*))cn,sn,mail,givenName). Wenn LDAP-Eigenschaften nicht mit dem angemeldeten Benutzer gelesen werden können, werden sie mithilfe authentifizierter Bindungsberechtigungsnachweise aus dem DN des Benutzers gelesen. Wenn das Benutzernamensattribut unterschiedlich ist, wird es auch abgefragt. Beispiel: Wenn das Präfix '(uid=' lautet, wird das Attributuidauch anhand des DN-Objekts des Benutzers gelesen:(|(cn={filter}*)(sn={filter}*)(mail={filter}*)(givenName={filter}*))Anmerkung : Das Präfix und das Suffix können nicht verwendet werden, um den DN eines Benutzers direkt abzurufen. Beispielsweise schlägt der folgende Versuch fehl, den DN eines Benutzers direkt abzurufen:Prefix: "uid=", Suffix: ",ou=users,dc=company,dc=com"
LDAP-Verweise
LDAP-Verweise ermöglichen eine Verzeichnisstruktur, die partitioniert und zwischen mehreren LDAP-Servern verteilt werden soll. Ein LDAP-Verweis bezieht sich auf die Art und Weise, wie ein Domänencontroller eine Clientanwendung darauf hinweist, dass er nicht über die Kopie eines angeforderten Objekts verfügt und dabei dem Client einen Standort angibt, an dem das Objekt wahrscheinlicher zu finden ist. Der Client verwendet anschließend das Objekt als Basis für eine DNS-Suche nach einem Domänencontroller.
- Suchen nach Benutzern, die Teil mehrerer Active Directory-Baumstrukturen und -Gesamtstrukturen sind.
- Authentifizierung von Benutzern im Cloud Manager, API Manager und dem CMS Portal.
- Ein einzelner LDAP-Host/Port wird mit Administratorberechtigungsnachweisen konfiguriert und anhand der Basis-DN der Baumstruktur/des Servers wird auf alle Benutzer verwiesen.
- Als Teil der Benutzersuche, die LDAP-Verweise berücksichtigt, werden dieselben Administratorberechtigungsnachweise in den Downstream-Baumstrukturen/Gesamtstrukturen verwendet.
- Die LDAP-API-Authentifizierung unterstützt keine LDAP-Verweise. Die interne LDAP-Überweisung wird unterstützt.