2

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

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

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

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

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

谢谢

4

1 回答 1

3

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

在尝试了一些之后,我的偏好是 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.'),
    )
于 2012-11-01T02:45:02.177 回答