Servidor LDAP
Muchos sistemas, como Nexus
, admiten autenticación LDAP. Casdoor también implementa un servidor LDAP simple, que admite operaciones de enlace y búsqueda.
Este documento describe cómo conectarse al servidor LDAP en Casdoor e implementar una autenticación de inicio de sesión simple.
Puerto del Servidor LDAP
El servidor LDAP escucha en el puerto 389
por defecto. Puede cambiar el puerto predeterminado modificando el valor de ldapServerPort
en conf/app.conf.
Cómo funciona
Similar al cliente LDAP en Casdoor, los usuarios en el servidor LDAP son todas subclases de posixAccount
.
Cuando el servidor recibe un conjunto de datos transmitidos por LDAP, analizará el cn
y ou
, donde cn
representa el nombre de usuario y ou
representa el nombre de la organización. El dc
no importa.
Si es una operación de enlace, el servidor usará Casdoor para verificar el nombre de usuario y la contraseña y otorgar al usuario permiso en Casdoor.
Si es una operación de búsqueda, el servidor verificará si la operación de búsqueda es legal, de acuerdo con los permisos otorgados al cliente por la operación de enlace, y devolverá una respuesta.
Solo admitimos Autenticación Simple.
Cómo Enlazar
En el servidor LDAP de Casdoor, solo reconocemos DN
similar a este formato: cn=admin,ou=built-in,dc=example,dc=com
.
Por favor, establezca el DN
del usuario administrador al formato anterior. Luego, puede usar este DN
para enlazar al servidor LDAP con la contraseña del usuario para iniciar sesión en Casdoor para verificación. Si la verificación del servidor es exitosa, al usuario se le otorgará autoridad en Casdoor.
Cómo Buscar
Una vez que la operación de enlace se completa con éxito, puede realizar la operación de búsqueda. Hay algunas diferencias entre las operaciones de búsqueda y enlace.
- Para buscar un cierto usuario, como
Alice
bajo la organizaciónbuilt-in
, debe usar unDN
como este:ou=built-in,dc=example,dc=com
, y agregarcn=Alice
en el campo de Filtro. - Para buscar todos los usuarios bajo una cierta organización, como todos los usuarios en
built-in
, debe usar unDN
como este:ou=built-in,dc=example,dc=com
, y agregarcn=*
en el campo de Filtro. - Para buscar todos los usuarios en todas las organizaciones (asumiendo que el usuario tiene suficientes permisos), debe usar un
DN
como este:ou=*,dc=example,dc=com
, y agregarcn=*
en el campo de Filtro. - 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.