我正在使用django / django-cms开发一个网站,并希望通过其他一些自定义验证(LDAP)扩展工具栏登录。问题是我不太确定如何扩展此表单的验证。我在django-cms包中找到了文件toolbar.py
class CMSToolbarLoginForm(AuthenticationForm):
username = forms.CharField(label=_("Username"), max_length=100)
def __init__(self, *args, **kwargs):
kwargs['prefix'] = kwargs.get('prefix', 'cms')
super(CMSToolbarLoginForm, self).__init__(*args, **kwargs)
根据我的理解,此表单从django扩展AuthenticationForm并添加自己的自定义用户名字段。这是对的吗?
另外,如何在失败时将此表单重定向到另一个视图?就像用户在db和user / pass匹配然后登录一样,但如果用户不在db中重定向到另一个视图,那么我可以从我的ldap目录中检索用户?
答案 0 :(得分:0)
通常,您需要启用自定义登录后端,以便进行身份验证。没有必要覆盖任何形式。
您可以使用django-auth-ldap
并添加您的设置:
AUTHENTICATION_BACKENDS = (
'django_auth_ldap.backend.LDAPBackend',
'django.contrib.auth.backends.ModelBackend',
)
了解详情