外观
系统菜单与角色
系统菜单模块将菜单、角色、菜单操作权限与用户关联起来。例如,为“报表查看者”角色配置报表菜单的“查询”权限,再把角色绑定给用户,前端便可读取该用户的菜单权限,认证组件也可按菜单编码查找接口操作权限。
菜单的 permission 描述可配置的操作,角色权限记录保存实际授予的操作。二者不会自动同步;创建菜单不会自动给任何用户授权。
从哪里开始
| 读者任务 | 文档 |
|---|---|
| 首次接入并验证一次授权 | 快速开始 |
| 维护菜单层级、路由、显示状态与排序 | 菜单管理 |
| 配置角色权限、绑定用户、对接认证 | 角色与授权 |
| 查询当前用户的角色、权限和菜单 | 当前用户查询 |
选择接入方式
以下 JAR 的 groupId 均为 com.own.business,当前版本为 4.1.0-SNAPSHOT。
| 依赖 | 用途 |
|---|---|
springboot-business-system-menu-controller-admin | 菜单、角色和角色权限管理,以及用户角色绑定;传递引入 Business 和 Common |
springboot-business-system-menu-controller-app | 当前用户的角色、权限、菜单树与平铺列表;传递引入 Business 和 Common |
springboot-business-system-menu-business | 自行编排 Service,使用默认 SystemMenuRoleHook 为认证组件提供角色与操作权限 |
springboot-business-system-menu-common | 仅使用 DTO、Query、VO 等业务模型 |
springboot-business-system-menu 是聚合及版本管理 POM,不是运行时 JAR。当前 Business BOM 尚未导入菜单模块 POM,接入时需要额外导入该 POM 或显式指定 JAR 版本,完整示例见快速开始。
数据与边界
模块使用 MySQL 保存四类数据:own_system_menu、own_system_role、own_system_role_permission 和 own_system_user_role。菜单和角色按 clientId 区分客户端;角色关系不包含工作空间字段,也不等同于工作空间成员角色。
应用需要提供数据源、认证身份与权限检查、MyBatis 基础 Bean 和 Store 权限缓存。模块不创建账号、不提供登录接口,也不自动初始化管理员。
接入前需了解当前行为:角色禁用状态尚未参与角色和操作权限计算;App 菜单查询不按 isShow 过滤,树接口也不能保证移除无权限节点。管理端按权限注解控制操作,没有自动按当前客户端限制全部数据。具体范围与处理方式见对应使用页。
按文件查阅方法
重点文件与方法逐项说明核心类、接口和方法重载的用途、参数、返回值、调用示例与注意事项,并链接到公开仓库对应源码。