角色管理

1. 概述

平台层的角色管理功能 用于管理维护平台中所有的角色,且支持为角色分配特定的权限集。而将角色分配给用户后,用户便拥有了角色中定义的权限。

Choerodon猪齿鱼平台层角色管理的功能从0.22.0版本开始,开始使用Hzero的角色管理体系。与之前不同的是,Hzero角色管理体系中每个租户(组织)都会维护一套预定义的角色。因此,想要修改或管理租户(组织)层的角色时,就需要定位到具体某一个租户(组织)。

在Hzero角色体系中,所有角色都是属于平台(超级)管理员租户(超级)管理员的子孙角色。平台管理员和之前一样,拥有平台级的所有权限;而创建平台级权限集时,会默认分配到平台管理员上;租户管理员拥有所有租户级权限,创建租户级权限集时,默认会分配到租户管理员上。所以,创建权限集后,只能由对应层级的超级管理员往下分配。

此外,整个角色体系分为创建体系继承体系,创建体系表现在 父、子 角色关系上,继承体系表现在 继承角色 关系上,区别表现在分配权限时,例如给 租户模板角色 分配权限,所有继承自 租户模板角色 的角色(租户管理员)将自动拥有分配的这些权限,可以一键往下分配权限,创建体系则不会。在回收权限时,会回收整个创建体系、继承体系的权限。

  • 菜单路径:平台管理 -> Hzero框架管理 -> 角色管理

2. 角色列表

  1. 角色查询:
    在角色管理页面,用户可以看到的角色范围是:由上级角色分配给当前登录用户的角色(包括分配的其他租户的角色),以及其中管理角色的子孙角色(创建体系);子孙角色中,限制只能看到当前用户所属租户的角色以及由当前用户所属租户的用户创建的其它租户的角色。

    例:有 A、B 两个租户,A 下有 a1、a2 两个角色,a1 为管理角色,a2 为普通角色;B 下有 b1、b2 两个角色,b1 为管理角色,b2 为普通角色。用户 M,所属租户为 A,A 租户给 M 分配了 a1、a2 角色,B 租户给 M 分配了 b1、b2 角色。M 能看到的角色是 a1、a2、a3、b1、b2 的子孙角色、b1 的子孙角色中由 A 租户的用户创建的角色。

  2. 列表字段:

    • 角色名称:角色名称,可以重复

    • 角色编码:角色编码,角色编码不具备唯一性,编码、层级、租户、创建者租户组成唯一

    • 角色层级:角色分平台级租户级,平台级角色只能分配平台功能权限,租户级角色只能分配租户级功能权限

    • 上级角色:角色的父级角色

    • 角色来源:角色来源有预定义自定义,预定义是系统初始化定义好的角色,自定义是有用户创建的角色

    • 所属租户:角色所属租户

    • 继承自:角色继承自某个角色

    • 分配角色:是否是分配给当前登录用户的角色,一般都是由其他用户分配给当前登录用户的角色

    • 管理角色:首先必须是分配角色,其次该角色拥有创建角色的功能,即能使用该角色创建下级角色

    • 创建人:由谁创建的该角色

    • 角色路径:角色创建体系层级路径,是判断角色唯一的属性,规则为:父级角色路径|角色租户编码.父级分配层级.父级分配层级编码.创建者租户编码.当前角色编码

  3. 操作说明

    • 如果角色为管理角色,则显示 创建角色 按钮,可以创建下级角色,否则不显示这个按钮

    • 其它可以看到的创建体系上的子孙角色,可以进行 复制、继承、分配权限 等操作

    • 整个创建体系上,只有最顶级的角色不能进行 编辑、分配权限 等操作,其它的角色中,就算是管理角色,因为它本身也是被顶级的角色所管理的,所以也是可以进行 编辑、分配权限等操作的

    • 角色的创建共有三种方式,创建角色、复制、继承

    角色管理列表

3. 创建角色

通过管理型角色操作栏上的创建角色按钮进入创建页面,这种方式创建的角色没有任何权限,需要分配权限。

  • 父级管理角色:默认带出管理角色作为父级角色,可以理解成由该管理角色创建子角色
  • 继承自:默认为空
  • 角色编码:输入角色编码
  • 所属租户:只有当父级角色为租户(超级)管理员时,可以选择其它租户,可以理解成创建其他租户的角色,否则创建的角色所属租户跟父级角色一致

4. 复制角色

选定某个可复制的角色,点击复制按钮,创建一个新角色。复制创建角色直接创建角色的唯一区别就是复制创建的角色将自动拥有复制角色的权限,避免重复分配。

  • 父级管理角色:父级角色为这个角色的所有父级角色中已分配给当前用户的且离这个角色最近的角色。例如 A、B、C 三个角色,A、B、C 为父、子、孙关系,其中 A、B 为管理角色。如果将 A、B 都分配给用户 M,复制 C 时,父级角色为 B;如果只将 A 分配给用户 M,复制 C 时,父级角色为 A。

  • 复制角色创建成功后,可以在分配权限中看到已分配复制角色的权限

5. 继承角色

选定某个可继承的角色,点击继承按钮,创建一个新角色。角色继承了被继承角色后,将自动拥有被继承角色的权限,重要的是,给被继承的角色分配权限后,所有继承自他的角色都将自动分配权限,即自动下分权限。

  • 继承自:默认为继承的角色且不可修改。例如 C 继承 B,那么 C 自动拥有 B 的权限,如果给 B 分配了权限,那么 C 将自动拥有这些权限。

  • 所属租户:与创建角色一样,只有当父级角色为 租户(超级)管理员 时,可以选择其它租户,否则与继承角色的所属租户一样。

  • 继承角色创建成功后,可以在 分配权限 中看到继承角色的权限。

6. 权限分配与回收

选定某个角色,通过分配权限按钮进入权限分配与回收的页面。角色拥有哪些权限集,将决定这个角色能拥有哪些菜单,即左侧菜单栏展示的菜单。

  1. 权限分配

    • 可以看到的权限集范围:分配角色的父级角色的权限集,例如给 C 角色分配权限,那么这里可以选择的权限范围是 C 角色的父级角色所拥有的权限集。

    • 权限分配只需要勾上需要分配的菜单或权限集即可,那么角色将自动拥有这些权限集中的API权限。这些菜单及权限集需要在 菜单配置 功能下维护。

    • 分配权限集后,继承体系上的角色都将自动分配这些权限集。例如 C 继承 B,B 继承 A,如果给 A 分配了一个权限集,那么 B、C 都将自动分配上这个权限集。

  2. 权限回收

    • 权限回收只需要取消勾选已分配的菜单或权限集即可,角色将不再拥有这些权限集中的API权限。
    • 权限回收后,该角色创建体系上的子孙角色,继承体系上的子孙角色的相应权限都会被回收。例如 C 继承 B,B 继承 A,E 是 D 的子角色,D 是 A 的子角色,回收 A 的权限集时,那么继承体系上的 B、C 及创建体系上的 D、E 的相应权限集都会被回收。

7. 分配用户

选定某个角色,点击分配用户按钮进入角色分配用户页面,进入页面后可以看到该角色已分配的用户。

8. 工作台配置

选定某个角色,为其分配可以在工作台上配置的卡片。

  • 在角色列表点击工作台配置按钮进入工作台配置界面,默认带出角色名称和角色编码信息。

  • 点击新增按钮,LOV选择卡片代码,自动带出卡片名称、高度、长度等信息,平台级角色可以调整位置X和位置Y,并设置该卡片是否初始化。

  • 选择对应卡片,点击删除按钮可删除分配到角色上的卡片。

  • 点击确定按钮完成卡片配置。

9. 字段权限维护

  1. 接口字段配置

    参考:接口字段维护:角色管理-字段权限维护

  2. 给角色配置字段权限维护。

    选定某个角色,点击字段权限维护按钮,进入接口字段权限配置界面,界面会展示在 配置了字段维护的列表数据。

    • 字段名称:字段权限名称,Lov选择接口字段维护中配置的字段。
    • 字段类型:同字段名称带出。

    • 权限规则:字段的权限规则,包括隐藏脱敏。选择隐藏指这个字段直接隐藏不显示,选择脱敏,增加脱敏规则字段,指按照脱敏规则处理字段显示效果。

    • 脱敏规则:仅针对规则权限选择脱敏时显示。规则说明:加密内容的下标,从1开始。单个下标:2指只第2位用加密字符替换;范围下标:4-7指4到7个之间的位用加密字符替换、4- 指4和4之后的位用加密字符替换;

    • 多个规则合并:4-7,9,11- 表示第4,5,6,7,9,11以及11之后的位使用加密字符替换。

    • 填写完后点击按钮,即完成了字段权限设置。

9. 阅读更多