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