Перейти до основного вмісту

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.