5.8 KiB
Синхронизация групп LDAP
Требования¶
-
Правильно настроенную аутентификацию LDAP
-
Используется сервер LDAP, который поддерживает
memberOfилиmemberUid(PosixGroups)
Автоматическое определение ролей пользователей на основании LDAP групп¶
Используйте следующие константы в вашем конфигурационном файле:
-
LDAP_GROUP_ADMIN_DN: Уникальные имена (Distinguished Names) для администраторов приложения -
LDAP_GROUP_MANAGER_DN: Уникальные имена (Distinguished Names) для менеджеров приложения
Пример для Active Directory:¶
define('LDAP_GROUP_ADMIN_DN', 'CN=Kanboard Admins,CN=Users,DC=kanboard,DC=local');
define('LDAP_GROUP_MANAGER_DN', 'CN=Kanboard Managers,CN=Users,DC=kanboard,DC=local');
-
Участники группы “Kanboard Admins” будут иметь роль “Администратор”
-
Участники группы “Kanboard Managers” будут иметь роль “Менеджер”
-
Все, кто не попадает под предыдущие определения, будут иметь роль “Пользователь”
Пример OpenLDAP с Posix Groups:¶
define('LDAP_GROUP_BASE_DN', 'ou=Groups,dc=kanboard,dc=local');
define('LDAP_GROUP_USER_FILTER', '(&(objectClass=posixGroup)(memberUid=%s))');
define('LDAP_GROUP_ADMIN_DN', 'cn=Kanboard Admins,ou=Groups,dc=kanboard,dc=local');
define('LDAP_GROUP_MANAGER_DN', 'cn=Kanboard Managers,ou=Groups,dc=kanboard,dc=local');
Вы должны определить параметр LDAP_GROUP_USER_FILTER, если ваше сервер LDAP использует memberUid вместо memberOf. Все параметры в этом примере обязательные.
Автоматическая загрузка групп LDAP для Канборд проекта¶
Эта возможность позволяет вам синхронизировать автоматически группы LDAP с группами Канборд. Каждая группа может иметь разные роли в проектах.
В проекте на странице Разрешения, можно ввести имя группы (имеется автодополнение) и Канборд будет искать группу во всех подключенных поставщиках.
Если группа не найдена в локальной базе данных, то она будет автоматически синхронизированна.
-
LDAP_GROUP_PROVIDER: Включение поставщика группы LDAP -
LDAP_GROUP_BASE_DN: Уникальное имя (Distinguished Names) для поиска группы в LDAP директории -
LDAP_GROUP_FILTER: фильтр LDAP используемый для выполнения запроса -
LDAP_GROUP_ATTRIBUTE_NAME: атрибут LDAP используемый для получения имени группы
Пример для Active Directory:¶
define('LDAP_GROUP_PROVIDER', true);
define('LDAP_GROUP_BASE_DN', 'CN=Groups,DC=kanboard,DC=local');
define('LDAP_GROUP_FILTER', '(&(objectClass=group)(sAMAccountName=%s*))');
С помощью фильтра, в примере выше, Канборд будет искать группы соответсвующие запросу. Если пользователь введет текст “Мои группы” в автозаполняемое поле, Канборд вернет все группы которые соответсвуют шаблону: (&(objectClass=group)(sAMAccountName=Мои группы*)).
-
Примечание 1: Спец символ
*очень важен, в противном случает будет выбрано только точное совпадение -
Примечание 2: Эта функция возможна только с аутентификацией LDAP настроенной на метод “proxy” или “anonymous”
Больше примеров фильтров LDAP для Active Directory
Пример OpenLDAP с Posix Groups:¶
define('LDAP_GROUP_PROVIDER', true);
define('LDAP_GROUP_BASE_DN', 'ou=Groups,dc=kanboard,dc=local');
define('LDAP_GROUP_FILTER', '(&(objectClass=posixGroup)(cn=%s*))');