我已经成功地让 django-ldap 与我的活动目录服务器一起工作,但是现在我想让某些用户成为 djangostaff
组的一部分。
我看不到如何指定特定的用户帐户(这可能吗?),所以我决定只允许特定组的任何人:
# Set up the basic group parameters.
AUTH_LDAP_GROUP_SEARCH = LDAPSearch("OU=mygroup,OU=users,DC=myserver",
ldap.SCOPE_SUBTREE, "(objectClass=memberOf)"
)
AUTH_LDAP_GROUP_TYPE = ActiveDirectoryGroupType()
AUTH_LDAP_USER_FLAGS_BY_GROUP = {
"is_active": "OU=mygroup,OU=users,DC=myserver",
"is_staff": "OU=mygroup,OU=users,DC=myserver",
}
# This is the default, but I like to be explicit.
AUTH_LDAP_ALWAYS_UPDATE_USER = True
# Use LDAP group membership to calculate group permissions.
AUTH_LDAP_FIND_GROUP_PERMS = True
# Cache group memberships for an hour to minimize LDAP traffic
AUTH_LDAP_CACHE_GROUPS = True
AUTH_LDAP_GROUP_CACHE_TIMEOUT = 3600
不幸的是,此配置不起作用,这是日志条目:
CN=my_user,OU=mygroup,OU=users,DC=myserver is not a member of OU=mygroup,OU=users,DC=myserver
我真的不明白问题出在哪里,因为组成员船是相同的。是不是AUTH_LDAP_GROUP_SEARCH
配置不正确?