0

我正在使用带有 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因为我还没有项目实例(我也不应该获得系统特权)。

欣赏有关差异和/或如何管理它们以及两者如何一起玩的任何话。

4

1 回答 1

0
  1. 对于监护人权限,请参阅 djano-guardian 文档:http: //django-guardian.rtfd.org/
  2. 有关 Django 系统权限,请参阅:https ://docs.djangoproject.com/en/dev/topics/auth/default/#default-permissions

您可能必须定义自己的方法来完成权限检查。伪代码:

if is_system_permission(perm):
    user.has_perm(perm)
else:
    guardian.user_has_perm(object, perm)

干杯

于 2014-07-01T17:05:30.767 回答