TL;DR:如何设置 ejabberd 以仅允许某些 Active Directory 组成员?
你好,
成功设置插入我们的 AD 的 ejabberd 服务后,我想将允许的用户缩小到特定组。
我的工作设置是:
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”属性。
那么正确的做法是什么?