我部分了解Django Ldap身份验证。谁能给出使用 Django Authentication Ldap 开发非常基础的应用程序的完整示例。
我经历了这个resource并试图理解很多事情,但仍然无法理解如何在实现中使用它。如何创建将与LdapBackend类一起使用的用户模型,以及如何 在authenticate()方法等中编写很多东西。
答案 0 :(得分:0)
Here,您会看到一个很好的完整示例,其中显示了如何创建自定义LDAPBackend
。
您需要在settings.py
中配置LDAP设置(如发布的链接所示),并将LDAPBackend
添加到AUTHENTICATION_BACKENDS
。您可以使用提供的默认LDAPBackend或创建一个自定义的LDAPBackend并使用它。
使用LDAPBackend
提供的默认django-auth-ldap
:
AUTHENTICATION_BACKENDS = (
'django_auth_ldap.backend.LDAPBackend',
'django.contrib.auth.backends.ModelBackend',
)
如果需要向身份验证添加其他逻辑,请使用自定义LDAPBackend
:
AUTHENTICATION_BACKENDS = (
'accounts.backends.MyLDAPBackend',
'django.contrib.auth.backends.ModelBackend',
)
然后在accounts/backends.py
中输入
from django_auth_ldap.backend import LDAPBackend
class MyLDAPBackend(LDAPBackend):
""" A custom LDAP authentication backend """
def authenticate(self, username, password):
""" Overrides LDAPBackend.authenticate to add custom logic """
user = LDAPBackend().authenticate(self, username, password)
""" Add custom logic here """
return user
查看上面链接的示例以获取更多详细信息。
如果您是LDAP新手,我建议您在有关该主题的另一个问题中浏览this answer(以及另一个)。