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」屬性。
那麼正確的方法是什麼呢?