LDAP: различия между версиями
Uscld2 (обсуждение | вклад) Нет описания правки |
Admin (обсуждение | вклад) Нет описания правки |
||
(не показаны 4 промежуточные версии 2 участников) | |||
Строка 1: | Строка 1: | ||
[[LDAP_EN|en]] | [[LDAP|ru]] | |||
'''ВНИМАНИЕ: Данный раздел актуален для версий ERP "UserSide" 3.13.21 и выше.''' | '''ВНИМАНИЕ: Данный раздел актуален для версий ERP "UserSide" 3.13.21 и выше.''' | ||
UserSide позволяет использовать в небольшом объёме функционал взаимодействия с LDAP. | ERP "UserSide" позволяет использовать в небольшом объёме функционал взаимодействия с LDAP. | ||
В связи с тем, что в userside есть своя гибкая система настройки прав доступа с профилями, доступа по ip-адресам и т.п. - это требует обязательного предварительного создания пользователя ''(сотрудника/оператора)'' в userside даже при работе с LDAP. | В связи с тем, что в userside есть своя гибкая система настройки прав доступа с профилями, доступа по ip-адресам и т.п. - это требует обязательного предварительного создания пользователя ''(сотрудника/оператора)'' в userside даже при работе с LDAP. | ||
Строка 12: | Строка 14: | ||
Настройка - Основная - Персонал - LDAP | Настройка - Основная - Персонал - LDAP | ||
[[Файл: | [[Файл:2023-06-16_17-11.png|центр]] | ||
Вносим необходимые настройки и сохраняем | Вносим необходимые настройки и сохраняем | ||
Строка 18: | Строка 20: | ||
* '''Host''' - адрес вашего LDAP сервера | * '''Host''' - адрес вашего LDAP сервера | ||
* '''Port''' - порт LDAP. По умолчанию 389 | * '''Port''' - порт LDAP. По умолчанию 389 | ||
* '''TLS''' - если сервер использует протокол шифрования TLS, то включите данную опцию | |||
* '''LDAP Login''' - имя пользователя для подключения LDAP-клиента к LDAP-серверу | * '''LDAP Login''' - имя пользователя для подключения LDAP-клиента к LDAP-серверу | ||
* '''LDAP Password''' - пароль этого пользователя | * '''LDAP Password''' - пароль этого пользователя | ||
Строка 25: | Строка 28: | ||
* '''LDAP Attribute - Firstname''' - наименование атрибута LDAP, содержащего имя (из ФИО). Если не заполнено - имя не будет взято из LDAP каталога. | * '''LDAP Attribute - Firstname''' - наименование атрибута LDAP, содержащего имя (из ФИО). Если не заполнено - имя не будет взято из LDAP каталога. | ||
* '''LDAP Attribute - Lastname''' - наименование атрибута LDAP, содержащего фамилию (из ФИО) Если не заполнено - фамилия не будет взятя из LDAP каталога. | * '''LDAP Attribute - Lastname''' - наименование атрибута LDAP, содержащего фамилию (из ФИО) Если не заполнено - фамилия не будет взятя из LDAP каталога. | ||
Возможна проблема, когда в данном разделе вы включите работу с LDAP-сервером но настроите неверно. Тогда не сможете вообще войти в UserSide и отключить работу с LDAP. Для того чтобы всё-же войти - откройте файл конфигурации userside3/main/config/config.php и добавьте там строку | Возможна проблема, когда в данном разделе вы включите работу с LDAP-сервером но настроите неверно. Тогда не сможете вообще войти в UserSide и отключить работу с LDAP. Для того чтобы всё-же войти - откройте файл конфигурации legacy/Config/config.php ''(для версий ранее 3.19 путь будет userside3/main/config/config.php)'' и добавьте там строку | ||
$isLdapAuthorization = 0; | $isLdapAuthorization = 0; | ||
Сохраните файл и входите в | Сохраните файл и входите в ERP "UserSide". Авторизация через LDAP отключится. | ||
== Диагностика == | == Диагностика == | ||
Для диагностики вам понадобиться утилита ldapsearch входящая в набор ldap-utils. Установите на сервере с ERP | Для диагностики вам понадобиться утилита ldapsearch входящая в набор ldap-utils. Установите на сервере с ERP "UserSide" этот пакет: | ||
sudo apt install ldap-utils | sudo apt install ldap-utils | ||
Теперь с сервера ERP | Теперь с сервера ERP "UserSide" выполните запрос к вашему LDAP-серверу следующим образом: | ||
ldapsearch -h <ldap_server_address> -p 389 -x -LLL -D "<ldap_username>" -W -b "<base_dn>" "<filter>" cn | ldapsearch -h <ldap_server_address> -p 389 -x -LLL -D "<ldap_username>" -W -b "<base_dn>" "<filter>" cn | ||
где: | где: | ||
Строка 47: | Строка 50: | ||
После выполнения команды будет необходимо ввести пароль доступа к LDAP серверу. | После выполнения команды будет необходимо ввести пароль доступа к LDAP серверу. | ||
После того, как подключение к серверу и поиск пользователя в каталоге выполнены удачно, перенесите все значения из этой строки в настройки ERP | После того, как подключение к серверу и поиск пользователя в каталоге выполнены удачно, перенесите все значения из этой строки в настройки ERP "UserSide". Вместо имени пользователя в фильтре укажите <code>[username]</code> чтобы фильтр выглядел, например, вот так: <code>(cn=[username])</code>. |
Текущая версия от 12:05, 12 июля 2024
ВНИМАНИЕ: Данный раздел актуален для версий ERP "UserSide" 3.13.21 и выше.
ERP "UserSide" позволяет использовать в небольшом объёме функционал взаимодействия с LDAP.
В связи с тем, что в userside есть своя гибкая система настройки прав доступа с профилями, доступа по ip-адресам и т.п. - это требует обязательного предварительного создания пользователя (сотрудника/оператора) в userside даже при работе с LDAP.
Требования
Для взаимодействия с серверами по LDAP протоколу необходимо установить PHP-расширение LDAP (php-ldap).
Настройка
Настройка - Основная - Персонал - LDAP
Вносим необходимые настройки и сохраняем
- Host - адрес вашего LDAP сервера
- Port - порт LDAP. По умолчанию 389
- TLS - если сервер использует протокол шифрования TLS, то включите данную опцию
- 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. Для того чтобы всё-же войти - откройте файл конфигурации legacy/Config/config.php (для версий ранее 3.19 путь будет userside3/main/config/config.php) и добавьте там строку
$isLdapAuthorization = 0;
Сохраните файл и входите в ERP "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])
.