Appearance
角色权限
RBAC 权限模型
RBAC(Role-Based Access Control)是一种基于业务角色的访问控制模型。织信低代码平台采用RBAC的角色权限模式来管理用户的访问权限。以下是RBAC角色权限模式的主要特点和工作原理:
1. 角色定义
在RBAC模型中,角色是权限分配的核心。每个角色代表一组权限,可以与一个或多个用户关联。角色通常根据业务需求和职责来定义。例如,管理员、编辑者、查看者等。
2. 权限分配
权限是指用户可以执行的操作或访问的资源。在RBAC模型中,权限被分配给角色,而不是直接分配给用户。这种方式简化了权限管理,因为只需要管理角色的权限,而不需要逐个管理用户的权限。
3. 用户与角色的关联
用户通过与角色关联来获得相应的权限。一个用户可以拥有多个角色,从而获得多个角色的权限集合。例如,一个用户可以同时是“编辑者”和“查看者”,他将拥有这两个角色的所有权限。
4. 角色层次结构
RBAC模型支持角色的层次结构,可以定义角色之间的继承关系。例如,可以定义一个“高级编辑者”角色继承“编辑者”角色的所有权限,并增加一些额外的权限。这样,高级编辑者将自动拥有编辑者的所有权限。
5. 动态权限管理
RBAC模型允许动态地调整角色和权限的配置。例如,可以随时增加或删除角色,修改角色的权限,或者调整用户与角色的关联。这使得权限管理更加灵活,能够快速响应业务需求的变化。
示例
- 定义角色:定义“管理员”、“编辑者”、“查看者”角色。
- 分配权限:将“创建内容”、“编辑内容”、“删除内容”等权限分配给“编辑者”角色,将“查看内容”权限分配给“查看者”角色。
- 关联用户:将用户A分配为“编辑者”,用户B分配为“查看者”。
通过RBAC模型,织信低代码平台能够有效地管理用户权限,确保系统的安全性和灵活性。
自定义权限
织信针对每个模块都设计了基础的权限定义
,例如数据表的查询数据
创建数据
等权限,但是在实际的开发过程中可能需要更细致的权限管理,这时候就需要通过权限管理
功能增加自定义的权限定义
。
在表达式中可以通过一下两个函数来判断用户是否拥有相应的权限
js
Context.hasAppPerm('CustomPermission') //应用权限
Context.hasModulePerm('dataModelBasics','CustomModulePermission') //模块权限