我最近继承了一个使用AllAuth作为其身份验证系统的Django项目。需要更改项目以使用LDAP进行身份验证,我希望不必撕掉所有AllAuth代码。我知道django-registration可以使用LDAP作为后端,但AllAuth不能。这有什么补丁吗?
答案 0 :(得分:3)
allauth(no "ldap" is mentioned在源代码和文档中)似乎都没有提供直接的LDAP集成。因此,
allauth
中的用户创建可能需要customized via DefaultAccountAdapter(allauth docs),具体取决于您的需求和潜在的用户名冲突。 GitHub issue 199解释了一些问题。请注意,此解决方案适用于allauth和LDAP的组合使用情况。如果你想专门使用LDAP进行身份验证,那么在代码库中保留allauth可能没什么意义,或者可能只是一个开销;你必须把它撕掉。
答案 1 :(得分:1)
django中的ldap配置相当简单。我为我的应用程序使用以下设置。我还使用了一个名为python-ldap
AUTHENTICATION_BACKENDS = (
'django_auth_ldap.backend.LDAPBackend',
)
AUTH_LDAP_SERVER_URI = "ldap://127.0.0.1:389"
AUTH_LDAP_USER_SEARCH = LDAPSearch("ou=People,dc=local,dc=domain,dc=com",
ldap.SCOPE_SUBTREE, "(uid=%(user)s)")
AUTH_LDAP_USER_ATTR_MAP = {
"first_name": "givenName",
"last_name": "sn",
}