我正在开发一个需要单独管理界面的项目。 django admin
界面适用于super super user
,会有公司注册我们的应用程序,然后他们将拥有自己的管理界面。尽管获得许可,一切都已完成。我们想要model level permission
这就是Django所提供的。
我做的是:
class CompanyGroup(models.Model):
name = models.CharField(max_length=254)
permissions = models.ManyToManyField(Permissions)
现在列出网站本身的所有权限。那么,我是否应该开始使用自己的权限应用程序,或者我可以修改django Permissions
以仅为某些模型提供对象级权限。
由于
答案 0 :(得分:0)
尝试其中一个现有的'行级' /'每个对象' Django的权限应用程序:
http://django-guardian.readthedocs.org/en/v1.2/
http://django-object-permissions.readthedocs.org/en/latest/
......可能有其他人,这些只是Google中的前两个
我们正在使用当前项目中的django-guardian,看起来很好。
我假设您需要控制对每个模型对象的子集的访问权限,具体取决于当前用户所属的公司(即您不希望A公司的人员看到项目来自公司B)。因此,您需要行级权限。
您可能还需要限制所有'公司用户的权限。只对某些行为:
CompanyGroup
课程。django.contrib.auth.models.Group
,其中包含适用于公司用户的全局权限。Group