Django 1.6 - 显式登录和重定向后静默登录失败

时间:2013-12-05 21:28:54

标签: django

我们有一个返回用户对象的自定义后端。

在管理员登录视图中,我们代表用户登录:

user.backend = 'django.contrib.auth.backends.ModelBackend'
login(request, user)

return redirect('/')

登录后会发生以下情况:

[05/Dec/2013 13:23:04] "POST /adminlogin/ HTTP/1.1" 302 0
[05/Dec/2013 13:23:04] "GET / HTTP/1.1" 302 0
[05/Dec/2013 13:23:04] "GET /accounts/login/?next=/ HTTP/1.1" 200 892

这在我们更新Django之前曾经工作过,我们认为它可能与this ticket有关,但无法弄明白。

1 个答案:

答案 0 :(得分:0)

您先打电话给authenticate吗?来自文档中的here

  

当您手动记录用户时,必须在致电authenticate()之前致电login()authenticate()User上设置了一个属性,指出哪个身份验证后端成功验证了该用户(有关详细信息,请参阅后端文档),稍后在登录过程中需要此信息。

根据您的要求,您可能还需要提供自定义身份验证后端,并将其添加到settings.py中的AUTHENTICATION_BACKENDS