Passer au contenu principal

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.

info

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'organisation built-in, vous devriez utiliser un DN comme ceci : ou=built-in,dc=example,dc=com, et ajouter cn=Alice dans le champ Filtre.
  • Pour rechercher tous les utilisateurs sous une certaine organisation, comme tous les utilisateurs de built-in, vous devriez utiliser un DN comme ceci : ou=built-in,dc=example,dc=com, et ajouter cn=* 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 ajouter cn=* 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.