我有几个模型,包括contrib.auth
中的User
和Group
。我运行Django 1.4.1。
似乎没有任何用户拥有权限:
In [1]: User.objects.get(id=1).user_permissions.all()
Out[1]: []
所以,这意味着用户没有权限,并且在用户的组中也没有权限。但是
In [2]: User.objects.get(id=1).has_perm('change_profile')
Out[2]: True
(预期False
)
如何可以只显式设置置换?我需要为此更改身份验证后端吗?
在设置中,只设置了模型后端:
In [23]: settings.AUTHENTICATION_BACKENDS
Out[23]: ('django.contrib.auth.backends.ModelBackend',)
问题是用户是超级用户(is_superuser
),任何权限检查都会返回True。