LDAP-сервер
Багато систем, як Nexus
, підтримують LDAP-аутентифікацію. Casdoor також реалізує простий LDAP-сервер, який підтримує операції прив'язки та пошуку.
Цей документ описує, як підключитися до LDAP-сервера в Casdoor та реалізувати просту аутентифікацію входу.
Порт LDAP-сервера
LDAP-сервер за замовчуванням слухає порт 389
. Ви можете змінити порт за замовчуванням, змінивши значення ldapServerPort
у conf/app.conf.
Як це працює
Подібно до LDAP-клієнта в Casdoor, всі користувачі на LDAP-сервері є підкласами posixAccount
.
Коли сервер отримує набір даних, переданих LDAP, він аналізує cn
та ou
, де cn
представляє ім'я користувача, а ou
- назву організації. Значення dc
не має значення.
Якщо це операція прив'язки, сервер використовуватиме Casdoor для перевірки імені користувача та пароля та надання користувачу дозволу в Casdoor.
Якщо це операція пошуку, сервер перевірить, чи є операція пошуку законною, відповідно до дозволів, наданих клієнту операцією прив'язки, та поверне відповідь.
Ми підтримуємо лише Просту аутентифікацію.
Як прив'язатися
На LDAP-сервері Casdoor ми визнаємо лише DN
, схожий на цей формат: cn=admin,ou=built-in,dc=example,dc=com
.
Будь ласка, встановіть DN
адміністратора до вищезазначеного формату. Потім ви можете використовувати цей DN
для прив'язки до LDAP-сервера з паролем користувача для входу в Casdoor для перевірки. Якщо перевірка сервера пройшла успішно, користувачу буде надано повноваження в Casdoor.
Як шукати
Після успішного завершення операції прив'язки ви можете виконати операцію пошуку. Є деякі відмінності між операціями пошуку та прив'язки.
- Щоб знайти певного користувача, наприклад
Alice
під організацієюbuilt-in
, ви повинні використовуватиDN
на кшталт:ou=built-in,dc=example,dc=com
, та додатиcn=Alice
у поле Фільтр. - Щоб знайти всіх користувачів під певною організацією, наприклад всіх користувачів в
built-in
, ви повинні використовуватиDN
на кшталт:ou=built-in,dc=example,dc=com
, та додатиcn=*
у поле Фільтр. - Щоб знайти всіх користувачів у всіх організаціях (за умови, що користувач має достатньо повноважень), ви повинні використовувати
DN
на кшталт:ou=*,dc=example,dc=com
, та додатиcn=*
у поле Фільтр. - 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.