Zum Hauptinhalt springen

LDAP-Server

Viele Systeme, wie Nexus, unterstützen LDAP-Authentifizierung. Casdoor implementiert auch einen einfachen LDAP-Server, der Bind- und Suchoperationen unterstützt.

Dieses Dokument beschreibt, wie man sich mit dem LDAP-Server in Casdoor verbindet und eine einfache Login-Authentifizierung implementiert.

LDAP-Server-Port

Der LDAP-Server hört standardmäßig auf Port 389. Sie können den Standardport ändern, indem Sie den Wert ldapServerPort in conf/app.conf ändern.

Wie es funktioniert

Ähnlich wie der LDAP-Client in Casdoor sind alle Benutzer im LDAP-Server Unterklassen von posixAccount.

Wenn der Server einen Datensatz erhält, der von LDAP übertragen wird, wird er den cn und ou analysieren, wobei cn den Benutzernamen und ou den Organisationsnamen darstellt. Der dc spielt keine Rolle.

Wenn es sich um eine Bind-Operation handelt, wird der Server Casdoor verwenden, um den Benutzernamen und das Passwort zu überprüfen und dem Benutzer in Casdoor die Berechtigung zu erteilen.

Wenn es sich um eine Suchoperation handelt, wird der Server überprüfen, ob die Suchoperation gemäß den Berechtigungen, die dem Client durch die Bind-Operation gewährt wurden, legal ist und eine Antwort zurückgeben.

Info

Wir unterstützen nur Einfache Authentifizierung.

Wie man bindet

Im Casdoor LDAP-Server erkennen wir nur DN in einem Format ähnlich diesem: cn=admin,ou=built-in,dc=example,dc=com.

Bitte setzen Sie den DN des Admin-Benutzers auf das oben genannte Format. Dann können Sie diesen DN verwenden, um sich mit dem Passwort des Benutzers an den LDAP-Server zu binden, um sich bei Casdoor zur Überprüfung anzumelden. Wenn die Serverüberprüfung erfolgreich ist, wird dem Benutzer in Casdoor Autorität gewährt.

Wie man sucht

Sobald die Bind-Operation erfolgreich abgeschlossen ist, können Sie die Suchoperation durchführen. Es gibt einige Unterschiede zwischen Such- und Bind-Operationen.

  • Um nach einem bestimmten Benutzer zu suchen, wie zum Beispiel Alice unter der Organisation built-in, sollten Sie einen DN wie diesen verwenden: ou=built-in,dc=example,dc=com und cn=Alice im Filterfeld hinzufügen.
  • Um nach allen Benutzern unter einer bestimmten Organisation zu suchen, wie zum Beispiel allen Benutzern in built-in, sollten Sie einen DN wie diesen verwenden: ou=built-in,dc=example,dc=com und cn=* im Filterfeld hinzufügen.
  • Um nach allen Benutzern in allen Organisationen zu suchen (vorausgesetzt, der Benutzer hat ausreichende Berechtigungen), sollten Sie einen DN wie diesen verwenden: ou=*,dc=example,dc=com und cn=* im Filterfeld hinzufügen.