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

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

-- 认证配置 --

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        = ...
      ...
},

谢谢!

点赞
用户3041188
用户3041188

幸运的是,与此同时我找到了另一个解决方案:

在我的情况下,不必查询 AD 中的多个 OU。 仅需查询我的 AD 的根目录,并过滤每个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',
    },
}
2020-03-26 09:21:56