我在我的Django 1.5应用程序中为用户分配了权限。当我使用列出所有用户权限时,
In [1]: user.get_all_permissions()
Out[1]: set([u'profile.change_profile'])
我可以看到一个权限(是正确和需要的)。用户也不是超级用户,也不是管理员。
In [2]: user.is_superuser
Out[2]: False
然而,如果我尝试使用user.has_perm
,则对于任何提交的权限请求,我总是会得到True
作为返回值。
In [3]: user.has_perm('random_permission')
Out[3]: True
如果用户是超级用户/管理员,我期望的行为。为什么非超级用户每次请求都得到True
?我是否错过了任何设置?
User
模型或认证后端?也许可以在这里阅读文档:https://docs.djangoproject.com/en/dev/topics/auth/customizing/#handling-authorization-in-custom-backends - Thane Brimhall