LDAP
В программе «Руководитель» имеется механизм интеграции с LDAP-каталогом, позволяющий создавать новых пользователей и присваивать им права в автоматическом режиме, без участия администратора.
Пусть имеется домен Active Directory (AD) с наименованием MyCompany.org. Предполагается следующий сценарий регистрации нового пользователя в программе:
- Администратор домена создает доменные группы пользователей, которым разрешена регистрация в программе и включает в эту группу учетные записи пользователей AD.
- Администратор домена создает доменные группы пользователей, соотвествующие группам в программе, и включает учетную запись пользователей в нужные доменные группы.
- Пользователь осуществляет первый вход в программу с использованием LDAP, программа создает учетную запись нового пользователя, заполняет информацию о пользователе данными из учетной записи AD, и помещает учетную запись пользователя в соотвествующую группу доступа.
- Процесс регистрации завершен, пользователь может полноценно работать в программе
Итак, сначала необходимо настроить параметры на вкладке “Настройки LDAP”:
- «Использовать LDAP»— «Да»
- «Использовать только LDAP вход» этот параметр регулируется переменной CFG_USE_LDAP_LOGIN_ONLY из файла server.php. Если эта переменная равна true, для входа в программу могут использоваться только пароли от учетных записей AD, иначе возможны оба варианта входа.
- «Имя сервера LDAP» — сетевое имя или ip-адрес контроллера домена
- «Порт сервера LDAP» — порт, на котором работает служба LDAP
- «Основное имя LDAP [ dn ]» — точка в иерархии LDAP, с которой будет начинаться поиск. Обычно достаточно задать значение «DC=MyCompany,DC=org»
- «Идентификационный номер LDAP [ uid ]» — атрибут, содержащий уникальное имя учетной записи пользователя, обычно «sAMAccountName» .
- «Фильтр имени пользователя LDAP» — здесь можно задать дополнительное условие, используемое при поиске пользователя. Если не задать ничего — в программе сможет зарегистрироваться любой пользователь, имеющий учетную запись в домене. Но если задать условие вида:
(memberOf=cn=RukovGroup,cn=Users,dc=MyCompany,dc=org)
то зарегистрировать смогут только члены доменной группы RukovGroup, что и нужно по сценарию.
- «E-mail атрибут LDAP» — атрибут учетной записи пользователь AD, в котором хранится почтовый адрес, обычно “mail”
- «Атрибут «Имя»» — атрибут учетной записи пользователь AD, в котором хранится имя пользователя, например “givenname”
- «Атрибут «Фамилия»» — атрибут учетной записи пользователь AD, в котором хранится фамилия пользователя, например “sn”
- «Пользователь LDAP [ dn ]», «Пароль LDAP» — логин и пароль пользователя для подключения к AD.
После выполнения данных настроек новые пользователи уже смогут самостоятельно зарегистрироваться в программе, теперь необходимо настроить условия для присоединения групп доступа.
Автоматическое назначение группы доступа
На вкладке «Структура приложения» – «Группы пользователей» в свойствах каждой группы на вкладке «Настройка LDAP» заполняем поле «Фильтр LDAP»:
Группа пользователей Руководитель | Фильтр LDAP |
Клиент |
(memberOf=cn=client,cn=Users,dc=MyCompany,dc=org) |
Разработчик |
(memberOf=cn=developer,cn=Users,dc=MyCompany,dc=org) |
Менеджер |
(memberOf=cn=manager,cn=Users,dc=MyCompany,dc=org) |
Таким образом, если учетная запись пользователя находится в доменной группе «client», его учетная запись в программе будет помещена в группу «Клиент» и так далее.
Проверка фильтров производится до первого совпадения, в порядке сортировки групп пользователей на странице «Группы доступа для пользователей». Если ни один из фильтров не совпал, или они не заданы, учетная запись пользователя будет помещена в группу, у которой указан признак «По умолчанию для LDAP».
Для просмотра атрибутов учетных записей в AD можно воспользоваться например бесплатной программой Active Directory Explorer.