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