Django ldap身份验证,多值DN组存在问题
因为Django LDAP身份验证,我快疯了。 我可以连接到LDAP服务器(MS Active Directory),搜索用户,但无法根据组进行验证(使用配置参数Django ldap身份验证,多值DN组存在问题,django,authentication,ldap,Django,Authentication,Ldap,因为Django LDAP身份验证,我快疯了。 我可以连接到LDAP服务器(MS Active Directory),搜索用户,但无法根据组进行验证(使用配置参数AUTH\u LDAP\u REQUIRE\u GROUP) 在询问有关广告结构的更多细节时,我发现该组使用多值DN存储用户,名为member 在研究文档时,我发现许多管理该属性的AUTH\u LDAP\u GROUP\u TYPE,如: MemberDNGroupType NestedMemberDNGroupType 和它们的子类
AUTH\u LDAP\u REQUIRE\u GROUP
)
在询问有关广告结构的更多细节时,我发现该组使用多值DN存储用户,名为member
在研究文档时,我发现许多管理该属性的AUTH\u LDAP\u GROUP\u TYPE
,如:
MemberDNGroupType
和它们的子类,但没有一个可以在两个组中找到用户NestedMemberDNGroupType
成员属性的屏幕截图:
这是与LDAP相关的Django配置
AUTH_LDAP_CONNECTION_OPTIONS ={
ldap.OPT_PROTOCOL_VERSION:ldap.VERSION3,
ldap.OPT_REFERRALS:0
}
AUTH_LDAP_GROUP_TYPE = NestedActiveDirectoryGroupType()
# Baseline configuration.
AUTH_LDAP_SERVER_URI = 'ldap://ldap.xxxx.com'
AUTH_LDAP_BIND_DN = 'auth_user@xxxx.com'
AUTH_LDAP_BIND_PASSWORD = 'qwerty'
AUTH_LDAP_REQUIRE_GROUP = (
LDAPGroupQuery('cn=group_1,ou=group_container,dc=xxxx,dc=com') |
LDAPGroupQuery('cn=group_2,ou=group_container,dc=xxxx,dc=com'))
AUTH_LDAP_USER_SEARCH = LDAPSearch(
'ou=user_container,dc=xxxx,dc=com',
ldap.SCOPE_SUBTREE,
'(UserPrincipalName=%(user)s)',
)
AUTH_LDAP_GROUP_SEARCH = LDAPSearch(
'ou=group_container,dc=xxxx,dc=com',
ldap.SCOPE_SUBTREE,
'(objectClass=nestedActiveDirectoryGroup)',
)
AUTH_LDAP_ALWAYS_UPDATE_USER = True
AUTH_LDAP_CACHE_TIMEOUT = 3600
AUTHENTICATION_BACKENDS = (
'django_auth_ldap.backend.LDAPBackend',
'django.contrib.auth.backends.ModelBackend',
)
DN、OU、DC对于用户和组都是正确的
问题可能与成员
属性类型有关吗
知道怎么解决吗?我发现了错误。
这一切都是由于AUTH_LDAP_REQUIRE_组中的属性OU输入错误造成的。
修复了此问题,并将AUTH\u LDAP\u GROUP\u类型更改为ActiveDirectoryGroupType一切都开始工作。我发现了错误。
这一切都是由于AUTH_LDAP_REQUIRE_组中的属性OU输入错误造成的。
修复了此问题,并将AUTH_LDAP_GROUP_类型更改为ActiveDirectoryGroupType一切开始工作