我有一个自定义的用户模型和一个身份验证后端。 当我使用shell时,身份验证功能可以正常工作,但是当涉及到管理站点登录时,它就是不工作。在
# Authentication
AUTH_USER_MODEL = 'BBUser.UserInfo'
AUTHENTICATION_BACKENDS = [
'BBUser.models.AuthBackend',
'BBUser.models.AdminAuthBackend',
]
就像我在AdminAuthBackend.authenticate(),所以我知道什么时候执行。在
当我从shell调用authenticate()
时,在管理页面中调用自定义身份验证方法,而在管理页面中则不是。在
感谢任何帮助。在
在使用带有电子邮件身份验证的自定义模型时,我遇到了完全相同的问题。我通过创建一个新的后端类来解决这个问题。 据我所知,django正在应用程序中定义的所有后端上循环,检查是否有确切的导入参数。在
在你的情况下,也许这样的方法会管用
我自己找到了答案。在
在深入研究Django的源代码之后,我在
django.contrib.auth.forms
中找到了一个片段,它处理来自管理站点登录表单的post请求:请注意,尽管它使用},这意味着默认的管理站点登录表单忽略了您自己的身份验证后端。在
auth.authentication
来处理登录操作,但它实际上解析固定字段username
和{为了解决这个问题,我需要实现我自己的管理网站登录表单。在
相关问题 更多 >
编程相关推荐