LDAP

Материал из WiKi - UserSide

ВНИМАНИЕ: Данный раздел актуален для версий ERP "UserSide" 3.13.21 и выше.

UserSide позволяет использовать в небольшом объёме функционал взаимодействия с LDAP.

В связи с тем, что в userside есть своя гибкая система настройки прав доступа с профилями, доступа по ip-адресам и т.п. - это требует обязательного предварительного создания пользователя (сотрудника/оператора) в userside даже при работе с LDAP.

Требования

Для взаимодействия с серверами по LDAP протоколу необходимо установить PHP-расширение LDAP (php-ldap).

Настройка

Настройка - Основная - Персонал - LDAP

Вносим необходимые настройки и сохраняем

  • Host - адрес вашего LDAP сервера
  • Port - порт LDAP. По умолчанию 389
  • LDAP Login - имя пользователя для подключения LDAP-клиента к LDAP-серверу
  • LDAP Password - пароль этого пользователя
  • Base DN - база поиска - объект каталога, начиная с которого производится поиск
  • Filter - фильтр, по которому производится выборка пользователя из каталога. Вместо [username] будет автоматически подставлено введенное в форму входа имя пользователя. Таким образом, например, при входе пользователя admin будет применен фильтр: (cn=admin). Поле, по которому производится фильтрация, должно содержать имена пользователей, соответствующие именам пользователей в userside.
  • LDAP Attribute - Username - наименование атрибута LDAP, содержащего имя пользователя (не из ФИО). Обязательно к заполнению.
  • LDAP Attribute - Firstname - наименование атрибута LDAP, содержащего имя (из ФИО). Если не заполнено - имя не будет взято из LDAP каталога.
  • LDAP Attribute - Lastname - наименование атрибута LDAP, содержащего фамилию (из ФИО) Если не заполнено - фамилия не будет взятя из LDAP каталога.

Возможна проблема, когда в данном разделе вы включите работу с LDAP-сервером но настроите неверно. Тогда не сможете вообще войти в UserSide и отключить работу с LDAP. Для того чтобы всё-же войти - откройте файл конфигурации userside3/main/config/config.php и добавьте там строку

$isLdapAuthorization = 0;

Сохраните файл и входите в USERSIDE. Авторизация через LDAP отключится.

Диагностика

Для диагностики вам понадобиться утилита ldapsearch входящая в набор ldap-utils. Установите на сервере с ERP USERSIDE этот пакет:

sudo apt install ldap-utils

Теперь с сервера ERP USERSIDE выполните запрос к вашему LDAP-серверу следующим образом:

ldapsearch -h <ldap_server_address> -p 389 -x -LLL -D "<ldap_username>" -W -b "<base_dn>" "<filter>" cn

где:

  • <ldap_server_address> - адрес хоста LDAP сервера
  • <ldap_username> - имя пользователя для подключения к LDAP серверу
  • <base_dn> - объект каталога, начиная с которого производится поиск
  • <filter> - фильтр поиска в каталоге. Например: (cn=anton)

Например:

ldapsearch -h ldap.company.net -p 389 -x -LLL -D "userside" -W -b "DC=mycompany" "(cn=anton)" cn

После выполнения команды будет необходимо ввести пароль доступа к LDAP серверу.

После того, как подключение к серверу и поиск пользователя в каталоге выполнены удачно, перенесите все значения из этой строки в настройки ERP USERSIDE. Вместо имени пользователя в фильтре укажите [username] чтобы фильтр выглядел, например, вот так: (cn=[username]).