12

我有一个使用 django-auth-ldap 为用户搜索 Active Directory 的容器化应用程序。我想合并来自两个独立 OU 的输出。是否有不同的方法或重载可能需要两个 DN 或连接两个单独搜索的输出的方法?

AUTH_LDAP_USER_SEARCH = LDAPSearch(os.environ.get('AUTH_LDAP_USER_SEARCH_BASEDN', ''),
                                ldap.SCOPE_SUBTREE,
                                "(sAMAccountName=%(user)s)")
4

1 回答 1

8

取自更新的文档

1.1 版中的新功能。

如果您需要在多个地方搜索用户,可以使用 LDAPSearchUnion。这需要多个LDAPSearch对象并返回结果的并集。未指定基础搜索的优先级。

import ldap
from django_auth_ldap.config import LDAPSearch, LDAPSearchUnion

AUTH_LDAP_USER_SEARCH = LDAPSearchUnion(
    LDAPSearch("ou=users,dc=example,dc=com", ldap.SCOPE_SUBTREE, "(uid=%(user)s)"),
    LDAPSearch("ou=otherusers,dc=example,dc=com", ldap.SCOPE_SUBTREE, "(uid=%(user)s)"),
)
于 2018-08-23T20:02:34.690 回答