菜单管理原创
# 摘要
菜单管理用于管理系统的菜单和按钮, 菜单按钮属于系统的资源,用于在角色中作为分配资源权限的主题, 菜单管理具有如下信息:
- 菜单管理 菜单的创建, 更新, 删除, 查询功能
- 按钮管理 按钮的创建, 更新, 复制, 删除, 查询功能
# 菜单管理
注意
删除菜单时, 该菜单下所有的子菜单将被删除, 同时菜单下所有的按钮也将被删除, 删除时需谨慎
- 菜单是树形结构, 根菜单的父节点为空 系统中有创建根菜单的独立功能
- 每个根菜单下都可以创建多个子菜单, 每个子菜单下都可以创建多个按钮
- 系统默认只展示根菜单信息, 可通过展开或者名称搜索子菜单
- 创建根菜单 通过此功能将创建一个根菜单,原则上根菜单下不要创建按钮
- 创建子菜单 在某个菜单上创建子菜单
- 编辑菜单 编辑该菜单信息
- 删除菜单 删除该菜单及子菜单 按钮信息
# 菜单信息
提示
系统中所有的资源请求信息 由请求URL 加 请求方法组成, 相同的URL不同的请求方法代表不同的资源
菜单信息包含以下字段:
- 上级菜单 不允许编辑, 创建时由系统指定
- 菜单ID 用来标识该菜单,不允许重复
- 菜单名称 菜单的展示信息
- 请求URL 菜单对应的请求地址,主要对应前端路由信息,该请求不会被系统拦截,仅做前端路由跳转
- 请求方法 原则上为GET请求
- 类型 菜单的类型,在字典中定义,当前由系统和业务两种类型, 系统类型为管理端菜单, 业务类型为业务菜单
- 图标 非必填项, 用于在前端进行图标映射以显示菜单图标
- 忽略权限 默认为否, 如果为是, 则请求菜单功能时, 不会进行资源权限校验, 同时其上级菜单也会被忽略权限校验
- 是否隐藏 默认为否, 如果为是, 则请求菜单功能时, 该菜单将不会被显示
- 优先级 菜单展示时根据优先级排序, 优先级越低越在前
# 菜单权限
提示
菜单的请求都会根据当前登录用户对应的角色进行权限校验, 如果当前用户没有该菜单的权限, 则该菜单将不会被显示, 所有配置的菜单都需要登录后才能获取
- 菜单创建后会在系统中生成资源信息, 通过角色绑定资源信息来控制菜单权限
- 忽略权限的菜单不需要再系统中配置
- 菜单隐藏后其对应的按钮信息及其权限信息仍会生效
# 按钮管理
提示
每个按钮代表一个功能, 每个功能都可以配置对应的数据权限@Action标识, 这样按钮既可以分配资源权限也可以分配数据权限
- 添加按钮 添加按钮时需要选中一个菜单,一般在叶子菜单中添加按钮
- 复制新建按钮 根据现有的按钮复制相关项,创建一个新的按钮
- 删除按钮 删除按钮时, 该按钮对应的数据权限@Action标识也会被删除
- 按钮查询 根据按钮ID 名称等综合查询,同时可以进行菜单关联查询
# 按钮信息
注意
按钮只有配置@Action信息,其对应的数据权限才生效, 权限引用才能生效!
按钮信息包含以下字段:
- 菜单名称 按钮对应的菜单信息, 由系统展示, 无法修改
- 按钮ID 保存后无法修改, 不允许重复
- 按钮名称 按钮的展示名称
- 子菜单名称 用于分配按钮权限时的分组信息,默认同菜单名称
- 请求URL 按钮对应的资源URL访问地址
- 请求方法 按钮对应的资源请求方法
- 忽略授权 默认为否, 如果为是, 请求该按钮时将不会进行授权验证(授权:用户对应的角色是否拥有该权限)
- 忽略鉴权 默认为否, 在忽略授权的情况下可选择, 如果为是, 按钮将不会进行鉴权验证(鉴权:验证用户是否登录)
- 权限标识 表示按钮对应数据权限的标识, 用于@Action的value属性, 拥有该值会为按钮增加一条数据权限定义
- 权限引用 在按钮拥有权限标识的前提下, 表示该按钮对应的数据权限与权限引用的数据权限一致, 目的是增加数据权限的复用性
Last Updated: 2025/08/30, 09:58:00