Django ldap3:如何检索属于 CN 组的用户

问题描述

我正在尝试在带有 Django 的 Windows 2012 服务器上实现登录屏幕,这会带来属于某个组的 Windows AD 用户。为此,我正在使用 ldap3。我把下面的代码放在settings.py中:

LDAP_AUTH_URL = "ldap://server:389"
LDAP_AUTH_USE_TLS = False

LDAP_AUTH_SEARCH_BASE = "CN=DevGroup,OU=Groups,OU=America,DC=domain,DC=company,DC=com"

LDAP_AUTH_USER_FIELDS = {
    "username": "sAMAccountName","first_name": "givenname","last_name": "sn","email": "mail",}

LDAP_AUTH_OBJECT_CLASS = "user"
LDAP_AUTH_USER_LOOKUP_FIELDS = ("username",)

LDAP_AUTH_CLEAN_USER_DATA = "django_python3_ldap.utils.clean_user_data"
LDAP_AUTH_SYNC_USER_RELATIONS = "django_python3_ldap.utils.sync_user_relations"
LDAP_AUTH_FORMAT_SEARCH_FILTERS = "django_python3_ldap.utils.format_search_filters"
LDAP_AUTH_FORMAT_USERNAME = "django_python3_ldap.utils.format_username_active_directory"

LDAP_AUTH_ACTIVE_DIRECTORY_DOMAIN = "domain"
LDAP_AUTH_CONNECTION_USERNAME = "user"
LDAP_AUTH_CONNECTION_PASSWORD = "pass"

它没有给出任何错误(它出现了查找 OK 消息)。但是,它不会将任何用户检索到 auth_users 表。 做了一些研究,我发现问题是用户在 CN=DevGroup 组内,所以我把 LDAP_AUTH_OBJECT_CLASS = "group" 代替了 "user"。这“有效”并将组带到 auth_user 表,但我想将属于 CN=DevGroup 的用户

你能帮我吗?我已经阅读了很多评论并做了很多测试,但我无法让它工作。

非常感谢。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)