我在REST中使用django 1.6。我试图将对象级别和系统级权限合并到我的应用程序中。看了一下之后,我发现django-gurdian
是最好的方法(因为它与所有其他应用程序一起玩得很好)。
虽然有关如何一起处理系统级权限和对象级权限,但我有点困惑。例如,
class Item(models.Model):
...
class Meta:
permissions = (
("item_create", "Can create an item") , # System privilege
("item_update", "Can update the item"),
("item_delete", "Can delete the item"),
("item_read" , "Can view the item")
)
我开始写permissions.py
时,我意识到我还不完全确定如何测试item_create
,因为我还没有项目实例(也不是应该是系统特权)。
欣赏关于差异的任何话语和/或如何管理它们以及两者如何一起玩。
答案 0 :(得分:0)
您可能必须定义自己的方法来执行权限检查。伪代码:
if is_system_permission(perm):
user.has_perm(perm)
else:
guardian.user_has_perm(object, perm)
干杯