Serveur LDAP
De nombreux systèmes, comme Nexus
, prennent en charge l'authentification LDAP. Casdoor implémente également un serveur LDAP simple, qui prend en charge les opérations de liaison (bind) et de recherche (search).
Ce document décrit comment se connecter au serveur LDAP dans Casdoor et mettre en œuvre une authentification de connexion simple.
Port du serveur LDAP
Le serveur LDAP écoute sur le port 389
par défaut. Vous pouvez changer le port par défaut en modifiant la valeur ldapServerPort
dans conf/app.conf.
Fonctionnement
Semblable au client LDAP dans Casdoor, les utilisateurs du serveur LDAP sont tous des sous-classes de posixAccount
.
Lorsque le serveur reçoit un ensemble de données transmises par LDAP, il analysera le cn
et le ou
, où cn
représente le nom d'utilisateur et ou
représente le nom de l'organisation. Le dc
n'a pas d'importance.
S'il s'agit d'une opération de liaison, le serveur utilisera Casdoor pour vérifier le nom d'utilisateur et le mot de passe et accorder à l'utilisateur la permission dans Casdoor.
S'il s'agit d'une opération de recherche, le serveur vérifiera si l'opération de recherche est légale, selon les permissions accordées au client par l'opération de liaison, et retournera une réponse.
Nous ne prenons en charge que l'Authentification Simple.
Comment se Lier
Dans le serveur LDAP de Casdoor, nous ne reconnaissons que le DN
similaire à ce format : cn=admin,ou=built-in,dc=example,dc=com
.
Veuillez définir le DN
de l'utilisateur admin au format ci-dessus. Ensuite, vous pouvez utiliser ce DN
pour vous lier au serveur LDAP avec le mot de passe de l'utilisateur pour vous connecter à Casdoor pour vérification. Si la vérification du serveur est réussie, l'utilisateur se verra accorder une autorité dans Casdoor.
Comment Rechercher
Une fois l'opération de liaison réussie, vous pouvez effectuer l'opération de recherche. Il existe quelques différences entre les opérations de recherche et de liaison.
- Pour rechercher un certain utilisateur, comme
Alice
sous l'organisationbuilt-in
, vous devriez utiliser unDN
comme ceci :ou=built-in,dc=example,dc=com
, et ajoutercn=Alice
dans le champ Filtre. - Pour rechercher tous les utilisateurs sous une certaine organisation, comme tous les utilisateurs de
built-in
, vous devriez utiliser unDN
comme ceci :ou=built-in,dc=example,dc=com
, et ajoutercn=*
dans le champ Filtre. - Pour rechercher tous les utilisateurs dans toutes les organisations (en supposant que l'utilisateur a suffisamment de permissions), vous devriez utiliser un
DN
comme ceci :ou=*,dc=example,dc=com
, et ajoutercn=*
dans le champ Filtre. - To search for all users in a specific group, you should use a filter query like this:
(memberOf=organization_name/group_name)
in the Filter field.