Skip to content

角色与资源 ​

角色是用户与资源之间的授权集合。资源既描述前端导航和操作,也描述后端接口访问。

角色管理 ​

角色包含编码、名称、状态和备注。编码用于稳定识别,创建后不应随意修改。

角色状态为禁用时:

  • 用户与角色关系可以保留。
  • 当前鉴权查询会忽略该角色。
  • 不需要强制清理所有关联用户 Token。
  • 重新启用后,后续请求按最新权限恢复。

编辑角色可能影响当前用户权限时,前端应给出清晰的二次确认;最终保护仍由后端权限控制。

资源管理两个 Tab ​

视图资源 ​

维护菜单、页面、按钮和分组。菜单与页面可以配置路径、组件、图标、外链、可见性和排序。按钮通常只需要名称、权限标识、状态与排序。

接口资源 ​

维护后端接口权限。接口资源进入独立的接口分组树,便于按用户、角色、组织、文件等模块查找。

接口资源应填写:

  • 名称:面向管理员的操作描述。
  • 权限标识:与后端 @PreAuthorize 完全一致。
  • 分组:便于管理,不参与鉴权。
  • 状态:禁用后不参与有效权限查询。
  • 备注:建议写请求方法、路径和是否暂未被前端使用。

挂载接口 ​

在视图资源节点上点击“挂载接口”,可以从接口分组树选择一个或多个接口。同一接口可挂载到多个节点。

典型设计:

视图节点挂载接口
用户管理页面用户列表
新增用户按钮新增用户
编辑用户按钮用户详情、编辑用户
重置密码按钮重置用户密码

挂载只辅助授权管理,不代表角色自动获得接口权限。挂载发生变化时,后端需要清理已经失效的角色挂载记录;新增挂载也不能自动给现有角色授权。

分配权限 ​

角色授权树同时展示视图节点和其挂载接口。接口节点直接显示“接口”类型,不额外显示“挂载”字样。

操作建议:

  1. 先勾选需要访问的菜单和页面。
  2. 再勾选需要展示的按钮。
  3. 检查按钮下挂载的接口是否符合授权范围。
  4. 对敏感接口逐项取消或勾选。
  5. 保存后重新打开授权树核对。
  6. 使用目标角色账号实际请求验证。

删除与变更 ​

  • 删除接口资源:应阻断或清理挂载关系和角色资源关系。
  • 删除视图资源:应处理下级节点、挂载关系和角色关联。
  • 删除分组:有子节点时必须二次确认或拒绝,避免误删整棵树。
  • 变更父节点:不能选择自身或自己的后代作为新上级。
  • 取消挂载:只影响该挂载位置;接口资源本身和其他挂载位置保留。

排查权限问题 ​

遇到“按钮还在但接口 403”时依次检查:

  1. 角色是否拥有对应 view: 按钮资源。
  2. 角色是否拥有对应 api: 接口资源。
  3. 角色、视图资源和接口资源是否启用。
  4. 挂载关系是否仍有效。
  5. 普通角色是否重新加载了权限上下文。
  6. 后端注解字符串是否与资源表完全一致。

超级管理员或安全模式返回 *:*:* 时,会绕过普通权限限制,测试细粒度权限应使用普通账号。

YeahBoot 官方技术文档