【问题标题】:Which permission system should I use in Django?我应该在 Django 中使用哪个权限系统?
【发布时间】:2012-10-21 14:28:24
【问题描述】:

我在一个 Django 项目中工作,该项目旨在管理仓库、物品和 presonell。 我有以下模型:WarehouseMode、ItemModel 和 PersonellModel。

管理员必须能够创建用户并为其分配以下角色之一:

  1. 管理员 - 完全访问权限。
  2. 仓库管理员 - 受限访问(添加、删除、修改项目和 presonell)
  3. 个人仓库用户 - 受限访问(修改个人资料)
  4. 其他数据库订阅者 -(只读)

“仓库管理员”应该是一个仓库的“所有者”。

我应该使用哪个权限系统?每行权限系统?

谢谢

【问题讨论】:

    标签: django django-models relational-database user-permissions


    【解决方案1】:

    最终,行级权限肯定会让您的生活更轻松,但从经验来看,您绝对应该将流程与其他任何内容分开编写并进行大量测试。下面是我最近使用的具有行级权限的结构。

    在尝试了一些之后,我的偏好是 django-guardian,我发现使用基于类的视图和 mixin 效果更好(从易于实现我设计的结构)。

    https://github.com/lukaszb/django-guardian.git

    class Meta:
        permissions = (
        ('can_view', 'View project'),
        ('manage_view', 'Can assign View project'),
        ('can_edit', 'Edit project'),
        ('manage_edit', 'Can assign Edit project'),
        ('can_delete', 'Delete project'),
        ('manage_delete', 'Can assign Delete project'),
        ('creator', 'Full access to model features.'),
        )
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-10-07
      • 1970-01-01
      • 1970-01-01
      • 2017-06-13
      • 2012-11-06
      • 1970-01-01
      • 1970-01-01
      • 2010-10-22
      相关资源
      最近更新 更多