ejabberd:LDAP Active Directory 中的 ldap_filter

ejabberd:LDAP Active Directory 中的 ldap_filter

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」屬性。

那麼正確的方法是什麼呢?

相關內容