扩展django cms工具栏登录

扩展django cms工具栏登录,django,django-cms,django-authentication,Django,Django Cms,Django Authentication,我正在使用django/django cms开发一个网站,并希望使用其他一些自定义验证(LDAP)扩展工具栏登录。问题是我不太确定如何扩展此表单的验证。我在django cms包中找到了文件toolbar.py class CMSToolbarLoginForm(AuthenticationForm): username = forms.CharField(label=_("Username"), max_length=100) def __init__(self, *args

我正在使用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中且用户/密码匹配,则登录,但如果用户不在db中,则重定向到另一个视图,以便我可以从ldap目录中检索该用户?

通常,您需要启用自定义登录后端,以将其用于身份验证作业。不需要覆盖任何表单

您可以使用
django auth ldap
并添加您的设置:

AUTHENTICATION_BACKENDS = (
    'django_auth_ldap.backend.LDAPBackend',
    'django.contrib.auth.backends.ModelBackend',
)

您可以在以下位置看到更多信息:

通常,您需要启用自定义登录后端,以支持身份验证作业。不需要覆盖任何表单

您可以使用
django auth ldap
并添加您的设置:

AUTHENTICATION_BACKENDS = (
    'django_auth_ldap.backend.LDAPBackend',
    'django.contrib.auth.backends.ModelBackend',
)
更多信息,请访问: