TL;DR: Как настроить ejabberd так, чтобы разрешить доступ только некоторым членам группы Active Directory?
Привет,
После успешной настройки службы ejabberd, подключенной к нашему AD, я хотел бы сузить круг разрешенных пользователей до определенной группы.
Моя рабочая конфигурация:
auth_method: [ldap]
ldap_servers:
- 1.2.3.4
- 1.2.3.5
ldap_uids:
mail: "%[email protected]"
ldap_base: "OU=FON,OU=Domain,OU=Global,DC=domain,DC=lan"
ldap_rootdn: "CN=someone,CN=Users,DC=domain,DC=lan"
ldap_password: "secret"
Это работает нормально и так.
Пользователи хранятся в:
"OU=Utilisateurs,OU=FON,OU=Domain,OU=Global,DC=domain,DC=lan"
но группы хранятся в другом OU:
"OU=Securite,OU=Groupes,OU=FON,OU=Domain,OU=Global,DC=domain,DC=lan"
Я хотел бы добавить фильтр, чтобы разрешить доступ только пользователям, входящим в группу, определенную в другом OU.
При попытке добавить фильтр ниже,нульпользователь в разрешенной группе может подключиться:
ldap_filter:
(&(objectCategory=group)(CN=GG_XMPP_USERS,OU=Securite,OU=Groupes,OU=FON,OU=Domain,OU=Global,DC=domain,DC=lan))
Безрезультатно, я также пробовал синтаксис, похожий на:
(&(objectclass=group)(|(cn=admingroup)(cn=group1)(cn=group2)))
В Active Directory объекты пользователя не имеют атрибута «memberOf», который можно было бы запросить.
Так как же правильно поступить?