【发布时间】:2012-03-08 15:45:17
【问题描述】:
目前我正在寻找在 Django 中实现访问控制。我已经阅读了有关内置权限的信息,但它并不关心每个对象。例如,我想要“只有创建者可以删除他自己的项目”之类的权限。所以我读到了 django-guardian。再一次,在考虑之后,可能很难管理和检查约束是否会改变。
我看看下一个流行的权限管理应用程序,叫做 django-rules。这似乎符合我的要求。但是,我相信 django-rules 需要涉及模型实例(因此是对象级别),即如果我需要像“成员区域”这样的简单视图,它不会执行此功能。
这让我开始考虑在后一种情况下使用 contrib 的许可,在前一种情况下使用 django-rules。我的问题是,管理这两个权限框架有多容易?例如,我有不同的用户组。我担心管理员在管理系统中添加特定权限(以允许访问视图)的重叠场景,认为这应该就足够了,但结果会受到规则设置的约束。
我相信这是一个常见的案例,我会根据您的经验虚心寻求您的意见和建议。
【问题讨论】:
-
Django 规则不需要模型实例。模型实例是可选的。