角色与权限分配
为一类职责建立角色,再把角色分配给用户。菜单权限、按钮操作和数据范围需要分别核对,看到菜单不代表可以查看全部记录。
先理解 RBAC:用户、角色与权限
RBAC 是“基于角色的访问控制”:先把同一类职责需要的权限配置到角色,再把角色分配给具体用户。管理员不必为每个新人重新勾选一遍同样的权限。
租户:当前组织的使用边界
├─ 公司/部门:成员所属组织,可参与数据范围判断
├─ 岗位:成员承担的工作职责
└─ 用户 → 分配角色 → 菜单、页面与按钮权限
└─ 数据范围还需结合业务页面规则核对
| 对象 | 管理什么 | 示例 |
|---|---|---|
| 用户 | 谁在使用系统,账号是否有效 | 张三的账号 |
| 公司、部门 | 人员归属和组织层级 | 总公司、销售部 |
| 岗位 | 工作职责,按组织和流程配置使用 | 销售专员 |
| 角色 | 一组可重复分配的授权 | 销售录入员、销售主管 |
| 功能权限 | 可进入哪些页面、执行哪些操作 | 查看工作表、添加、修改、导出等已配置节点 |
| 数据范围 | 在允许的功能中可接触哪些记录 | 本人、本部门或指定部门;实际结果按业务规则验证 |
岗位与角色需要分别维护。把用户放进“销售部”或选择“销售专员”岗位后,仍需核对角色授权;岗位名称不自动等于功能权限。角色支持分配给多名用户,用户也可以选择多个角色。
菜单是否显示、操作是否允许、数据是否可见是三个检查点。隐藏菜单不能代替撤销权限,列表筛选条件也不能代替数据授权。
首次配置的推荐顺序
- 维护公司、部门与岗位,先确认组织结构。
- 按岗位职责创建角色,选择适用应用和数据范围。
- 为角色分配需要的菜单、页面及操作节点。
- 新增或编辑用户,选择组织、岗位和角色。
- 用实际业务账号重新登录,分别验证应允许和应拒绝的操作。
以下步骤由有对应管理权限的人员执行。公开教程不会赋予读者管理权限。
创建或编辑角色
- 进入 系统管理 → 角色管理,按应用和角色名称查询,先确认是否已有适用角色。
- 点击 新增,填写角色名称、角色描述,选择所属应用。部分应用角色要求且只允许选择一个应用。
- 设置 数据权限。页面提供全部、自定义、本级及子级、本级、本人等类型,以组织约定和实际选项为准。
- 选择自定义范围时,逐项勾选实际部门;不要假定勾父节点就已选择所有子部门。
- 点击 确定,重新打开核对。角色标识由系统处理,当前表单无需手工填写标识。
数据范围表示授权意图,具体工作表还可能有自己的访问规则,需要在目标业务页面核对结果。
分配菜单和操作
- 在目标角色行点击 授权,打开 分配权限。
- 展开对应应用或菜单分组,等待下级加载后,逐项核对页面、视图和按钮。
- 勾选本岗位需要的节点。父级、全选可能影响整组范围,提交前展开确认。
- 点击 确定,再打开授权窗口,确认保存结果。
授权树中的“隐藏”标记表示导航显示状态。隐藏节点即使不出现在左侧菜单,也可能承载访问权限;要撤销访问应核对授权,不能只隐藏菜单。
把角色交给成员
进入 用户管理 → 编辑,选择该角色并保存。由成员重新进入系统,在目标应用核对:需要的菜单可见、所需按钮可用、允许的数据可读、不允许的数据无法访问。多个角色可能共同影响结果,排查时查看该用户的全部角色。
新人没有入口时
按租户是否正确、账号是否有效、应用是否匹配、角色是否分配、菜单是否授权、菜单是否隐藏的顺序核对。能打开页面但看不到记录时,再检查数据权限与页面筛选条件。
示例:给销售成员分配录入权限
以下是配置顺序示例,菜单和按钮名称以组织实际应用为准,不代表系统预置了“销售录入员”角色。
- 在部门管理确认“销售部”存在,在岗位管理确认“销售专员”存在。
- 在角色管理新增“销售录入员”,选择目标销售应用;按组织要求选择数据权限,例如“本人”。
- 在该角色的 授权 → 分配权限 中,展开销售应用、目标工作表和操作节点,只选择需要的页面及查看、新增、修改等实际开放操作。无删除或导出职责时,不主动勾选对应节点。
- 保存并重开授权窗口,核对选择结果;尚未展开加载的下级不能靠父节点名称猜测。
- 在用户管理中编辑成员,选择正确公司、销售部、销售专员岗位,并分配“销售录入员”角色,保存后重新打开核对。
- 让成员重新登录,按下表验证。若已持有其他角色,一并检查,避免把其他角色带来的访问能力误认为本次配置效果。
| 检查层次 | 应允许的结果 | 应拒绝的结果 |
|---|---|---|
| 页面入口 | 可以进入目标销售页面 | 无关管理页面不可访问 |
| 操作按钮 | 可以执行职责需要的查看、录入等操作 | 未授权的删除、导出等操作不能执行 |
| 数据范围 | 可以读取组织约定范围内的记录 | 范围外记录不能通过列表、详情或已有链接访问 |
| 账号归属 | 当前租户、账号和应用正确 | 不能把同名角色或其他组织的结果当作本组织结果 |
“本人”如何对应业务记录归属,还取决于工作表的数据规则。若需要只编辑自己的记录、但查看部门记录等更细规则,应请应用管理员核对现有配置,不能仅凭选择一个数据范围就认定已经实现。
调岗、收回权限与角色调整
- 一人调岗:在用户管理中移除不再需要的角色,按新职责添加角色,核对部门和岗位;不要为了一个人的变更修改所有同事共用的角色。
- 整类职责变化:修改共享角色前,先确认哪些用户正在使用该角色,再调整菜单、操作或数据范围,并安排代表性成员核验。
- 收回某项权限:取消相应授权节点并保存、回读,再检查用户其他角色与相关应用授权;只取消一处不能直接认定该用户已失去所有同类访问能力。
- 停用或离职:先交接业务,再按用户账号管理处理账号状态;需要结束既有会话时,另行核对终端与在线令牌。
授权变更后由成员重新进入系统验证。若刷新或重新登录后仍异常,保留租户、应用、账号、角色、时间与具体页面信息交管理员排查,不反复扩大授权来试错。
权限问题排查表
| 现象 | 核对顺序 |
|---|---|
| 找不到要分配的角色 | 当前租户、角色是否已建立、角色所属应用及操作者管理范围 |
| 看不到菜单 | 账号状态、用户角色、适用应用、菜单授权、导航隐藏设置 |
| 能进页面但不能操作 | 对应按钮或动作是否授权,以及业务状态是否允许该操作 |
| 能操作但看不到数据 | 角色数据范围、部门归属、业务记录归属、工作表规则与当前筛选条件 |
| 收回权限后仍可访问 | 重新登录、该用户全部角色、其他相关授权及实际请求结果 |
| 管理员能看,成员看不到 | 用成员账号核对;管理员视角不能证明普通成员已经授权成功 |
本文已核对角色编辑、授权树和用户编辑的当前源码;多角色叠加及具体业务数据范围仍需在目标部署使用业务账号验证。