Skip to content

角色权限

RBAC 权限模型

RBAC(Role-Based Access Control)是一种基于业务角色的访问控制模型。织信低代码平台采用RBAC的角色权限模式来管理用户的访问权限。以下是RBAC角色权限模式的主要特点和工作原理:

1. 角色定义

在RBAC模型中,角色是权限分配的核心。每个角色代表一组权限,可以与一个或多个用户关联。角色通常根据业务需求和职责来定义。例如,管理员、编辑者、查看者等。

2. 权限分配

权限是指用户可以执行的操作或访问的资源。在RBAC模型中,权限被分配给角色,而不是直接分配给用户。这种方式简化了权限管理,因为只需要管理角色的权限,而不需要逐个管理用户的权限。

3. 用户与角色的关联

用户通过与角色关联来获得相应的权限。一个用户可以拥有多个角色,从而获得多个角色的权限集合。例如,一个用户可以同时是“编辑者”和“查看者”,他将拥有这两个角色的所有权限。

4. 角色层次结构

RBAC模型支持角色的层次结构,可以定义角色之间的继承关系。例如,可以定义一个“高级编辑者”角色继承“编辑者”角色的所有权限,并增加一些额外的权限。这样,高级编辑者将自动拥有编辑者的所有权限。

5. 动态权限管理

RBAC模型允许动态地调整角色和权限的配置。例如,可以随时增加或删除角色,修改角色的权限,或者调整用户与角色的关联。这使得权限管理更加灵活,能够快速响应业务需求的变化。

示例

  • 定义角色:定义“管理员”、“编辑者”、“查看者”角色。
  • 分配权限:将“创建内容”、“编辑内容”、“删除内容”等权限分配给“编辑者”角色,将“查看内容”权限分配给“查看者”角色。
  • 关联用户:将用户A分配为“编辑者”,用户B分配为“查看者”。

通过RBAC模型,织信低代码平台能够有效地管理用户权限,确保系统的安全性和灵活性。

RBAC

自定义权限

织信针对每个模块都设计了基础的权限定义,例如数据表的查询数据 创建数据 等权限,但是在实际的开发过程中可能需要更细致的权限管理,这时候就需要通过权限管理 功能增加自定义的权限定义

自定义权限

在表达式中可以通过一下两个函数来判断用户是否拥有相应的权限

js
Context.hasAppPerm('CustomPermission') //应用权限
Context.hasModulePerm('dataModelBasics','CustomModulePermission') //模块权限