角色权限

不同于其他系统,企业管理系统对权限的管控更加细致。角色(权限)贯穿整个 RB 系统,例如能够读取/查看哪些数据、能够修改哪些数据、能够删除哪些数据等等。系统会根据权限自动过滤那些无权查看的记录和无权使用的操作(例如删除按钮)。

RB 提供 RBAC 权限模型(基于角色的权限访问控制)。此权限模型是兼具简单易用、性能与安全性并存的综合性解决方案。

权限管控有严格的校验策略。因此,如果某些操作(按钮)因权限未被显示出来,即使通过 Hacker 手段发送请求(如删除)给服务器也无法通过服务端校验

权限模型基于以下 3 个关键对象:

  • 用户
  • 部门
  • 角色

其中,角色负责权限定义,是一组权限的集合。部门负责定义权限的层级(如允许读取/查看本部门数据、允许修改本人数据等)。最终,用户会被赋予某种角色和部门。

RB 从 V2 版本开始已支持为单个用户赋予多个角色

权限定义

操作类型

在 RB 中可以对业务记录进行以下 6 种操作:

  • 新建
  • 读取/查看
  • 更新/修改
  • 删除
  • 分派
  • 共享

其中除了“新建”没有操作层级外,其他均可以配置操作层级,形成“交叉式”权限管控。如“仅能修改本人的客户记录”,“可以查看全部客户记录”,“不能删除任何客户记录”。

同时您需要注意权限类型之间的基本依赖,例如只给予了“更新”但没有给予“读取”权限,因为无法查看到记录,自然也无法进行更新/修改等操作。

操作层级

在 RB 中定义了 5 个权限层级:

  • 无权限
  • 本人
  • 本部门
  • 本部门及子部门
  • 全部

层级通过业务记录的“所属用户”和“所属部门”字段进行控制(在 RB 中每条业务记录分别有(且仅有)一个“所属用户”和“所属部门”字段)。如“本人”表示“所属用户”是自己,“本部门”表示“所属部门”是用户自己的所在部门,而“本部门及子部门”则是用户自己所在部门以及下级的所有子部门。

数据权限

业务记录权限

即“实体权限”。您可以通过“分派”将记录转移给其他用户,所属用户的转移即权限的转移,也通过“共享”使原本没有权限的用户拥有权限。

分派

通过分派,可以将记录转移给另外一个用户(所属部门也会自动变更),请注意同一时间同一记录所属用户只有一个。

共享

通过共享,可以在不转移所属用户的前提下使其他用户也有读取/修改记录的权限。RB 支持将一条记录共享给多个用户,共享后也可以随时收回/取消共享,具备高度的灵活性。

另请参见 分派与共享

扩展权限

扩展权限依照字面意思理解即可。但请留意“前置条件”说明,例如“批量修改”仅能修改当前用户权限内允许修改的记录,如果尝试修改无修改权限的业务记录,会被系统自动忽略且不会提示错误。

其他权限

在动态、项目、文件功能中,各自有其独立的权限控制体系,因此不(完全)适用于本文上述权限模型。

该文档内容对您是否有帮助?没有
如有任何疑问,请与我们的 社区QQ 群 联系
Updated 9/17/2021, 12:37:22 PM