没有默认后端,Django管理员登录不起作用

时间:2011-11-06 21:12:58

标签: django django-admin backend

我的用户使用Shibboleth进行身份验证,所以我使用RemoteUserBackend作为我的AUTHENTICATION_BACKENDS元组。这对于除admin之外的任何URL都可以正常工作。 当我尝试登录时,我收到一条消息,告诉我密码错误。 为什么这样,我该怎么做才能解决它?我可能会使用不同的后端,一个用于我的项目,另一个用于我的管理界面,但我不知道如何做到这一点。

1 个答案:

答案 0 :(得分:2)

Django管理站点仅允许is_staff标志设置为True的用户访问。

作为一个关闭,您可以通过shell为特定用户设置is_staff标志:

>>> from django.contrib.auth.models import User
>>> u = User.objects.get(username="fernando")
>>> u.is_staff = True
>>> u.save()

完成上述更改后,您的用户应该可以访问管理网站。

对于将来的新用户,您可能希望继承RemoteUserBackend并覆盖configure_user方法以在适当的位置设置is_staff标记。