比较django权限并使用django规则



目前我正在Django中实现访问控制。我读过关于内置权限的文章,但它不考虑每个对象。例如,我想要像"只有创建者才能删除他自己的项目"这样的权限。所以我读了关于姜戈守护者的文章。再说一遍,经过思考,可能很难管理和检查约束是否发生了变化。

我看看下一个流行的权限管理应用程序django规则。这似乎符合我的要求。然而,我认为django规则需要一个模型实例(因此是对象级别),即如果我需要一个简单的视图,如"成员区域",它就不能执行此功能。

这让我考虑对后一种情况使用contrib的许可,对前一种情况则使用django规则。我的问题是,管理这两个权限框架有多容易?。例如,我有不同的用户组。我担心重叠的情况,即管理员在管理系统中添加了一个特定的权限(以允许访问视图),认为这应该足够了,但结果却受到规则设置的约束。

我相信这是一个常见的情况,我谦虚地根据您的经验征求您的意见和建议。

如果您是通过Django管理站点执行此操作的,则可以覆盖has_delete_permission()等方法。它们将请求和对象作为参数,因此您可以使用它来设置规则,如"用户X只能删除他自己的对象"。

最新更新