如何在 prosody 的 ldap basedn 变量中设置多个路径

How do I set multiple paths in prosody's ldap basedn variable

我已经设置了一个 jitsi-meet 实例用于测试目的,我使用与 ldap 相关的模块进行 /etc/prosody/conf.d/ldap.cfn.lua 中配置的用户身份验证。这是我的工作 ldap.cfn.lua(我删除了用户名和密码并用 * 替换):

-- Authentication configuration --

authentication = 'ldap2'

ldap = {
    hostname      = 'my.ldap.server.org',
    --use_tls     = true,
    bind_dn       = 'CN=ldap,OU=user,OU=my,DC=company,DC=org',
    bind_password = '***', 

    user = {
      basedn        = 'ou=workers,ou=location1,dc=my,dc=company,dc=org',
      filter        = 'sAMAccountName=*',
      usernamefield = 'sAMAccountName',
      namefield     = 'cn',
    },
}

我的 AD 中有几个位置(历史演变),我也需要查询它们。如何指定多个 basedn 参数?这是我迄今为止尝试过的方法,但没有得到积极的结果(仅仅是猜测)。

user = {
      basedn        = 'ou=workers,ou=location1,dc=my,dc=company,dc=org',
                      'ou=workers,ou=location2,dc=my,dc=company,dc=org',
      filter        = ...
      ...
},
user = {
      basedn        = '(ou=workers,ou=location1,dc=my,dc=company,dc=org,ou=workers,ou=location2,dc=my,dc=company,dc=org)',
      filter        = ...
      ...
},

谢谢!

幸运的是我同时想到了另一个解决方案:

在我的例子中,没有必要在 AD 中查询多个 OU。查询我的广告的根并过滤每个 Domain User 就足够了。

此站点提供了宝贵的提示:https://ldapwiki.com/wiki/Domain%20Users

这是我的工作配置:

authentication = 'ldap2'

ldap = {
    hostname      = 'my.ldap.server.org',
    --use_tls     = true,
    bind_dn       = 'CN=ldap,OU=user,OU=my,DC=company,DC=org',
    bind_password = '***', 

    user = {
      basedn        = 'dc=my,dc=company,dc=org',
      filter        = '(primaryGroupID=513)',
      usernamefield = 'sAMAccountName',
      namefield     = 'cn',
    },
}