推出自己的权限应用程序或修改django权限

时间:2014-04-30 15:43:52

标签: django permissions

我正在开发一个需要单独管理界面的项目。 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以仅为某些模型提供对象级权限。

由于

1 个答案:

答案 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