Django管理员登录不';没有默认的后端无法工作
我的用户使用Shibboleth进行身份验证,所以我使用RemoteUserBackend作为我的身份验证\u BACKENDS元组。这对于任何url都可以正常工作,除了管理员。 当我尝试登录时,会收到一条消息,告诉我密码错误。Django管理员登录不';没有默认的后端无法工作,django,django-admin,backend,Django,Django Admin,Backend,我的用户使用Shibboleth进行身份验证,所以我使用RemoteUserBackend作为我的身份验证\u BACKENDS元组。这对于任何url都可以正常工作,除了管理员。 当我尝试登录时,会收到一条消息,告诉我密码错误。 为什么会这样?我能做些什么来修复它?我可能会使用不同的后端,一个用于我的项目,另一个用于我的管理界面,但我不确定如何做到这一点。Django admin站点只允许is_staff标志设置为True的用户访问 作为一次性设置,您可以通过shell为特定用户设置is_sta
为什么会这样?我能做些什么来修复它?我可能会使用不同的后端,一个用于我的项目,另一个用于我的管理界面,但我不确定如何做到这一点。Django admin站点只允许
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
进行子类化,并在适当的情况下覆盖设置is\u staff
标志的方法。I在数据库中已经是staff。此外,我还尝试像这样覆盖configure_user:def configure_user(self,user):user.is_staff=True user.save(),但它不起作用。您是否检查了REMOTE_user
头的设置是否正确?您是否添加了一些打印语句以确保request.user
是您认为的用户?使用不同后端的管理应用程序没有什么特别之处。如果你看不到管理员页面,那么我很确定你不是用is_staff=True
的活动用户登录的。我目前正在尝试用django设置shibboleth。你能给我举个好例子吗?或者你能举个例子吗?谢谢