Skip to content

菜单权限 ​

后台的权限体系由「权限规则 → 角色组 → 管理员」三层构成:

  • 权限规则:后台左侧菜单与操作按钮的权限点,以树形结构组织。
  • 角色组:将一组权限规则打包,授予一个角色。
  • 管理员:后台登录账号,绑定一个或多个角色组,从而获得对应菜单与按钮权限。

权限判断发生在后台中间件层,未登录返回 401,已登录但权限不足返回 403。

权限规则 ​

权限规则对应菜单权限表,每条规则代表后台的一个菜单节点或按钮操作,包含如下字段:

字段说明
pid父级规则 ID,根节点为空(null)
path菜单路径 / 组件路径
type节点类型(目录、菜单、按钮)
name规则名称,如 权限规则
component前端组件地址
sort排序值,越小越靠前
meta附加元信息(图标、标题等)
status状态,1 启用,0 禁用

规则以树形展示,支持拖拽调整排序。系统内置一套默认菜单规则,可一键恢复初始状态。

NOTE

权限规则是角色的“可选项”。按钮级权限在后台通过接口动态下发,前端根据返回结果控制按钮显隐。

角色组 ​

角色组将若干权限规则聚合为一个角色,字段如下:

字段说明
pid父级角色组 ID,支持角色组分组
name角色组名称
rules勾选的权限规则 ID 数组
status状态,1 启用,0 禁用

创建或更新角色组后,系统会自动刷新按钮权限缓存,管理员重新登录后生效。

超级管理员 ​

拥有 *(全部权限)规则的管理员视为超级管理员,可访问后台全部菜单与接口,不受角色组规则限制。

管理员 ​

管理员字段包括账号、密码、角色组关联等信息:

字段说明
username登录账号
email / mobile邮箱 / 手机号
password登录密码,存储前使用「随机盐 + 哈希」加密,不保存明文
gid[]所属角色组 ID 数组,一个管理员可属于多个角色组
is_system_admin是否超级管理员

创建管理员 ​

  1. 在后台「菜单权限 → 管理员」点击创建。
  2. 填写账号、姓名、邮箱 / 手机号。
  3. 选择所属角色组(可多选)。
  4. 设置初始密码并保存。

权限生效 ​

  • 管理员拥有的权限 = 所有角色组 rules 的并集。
  • 若某管理员属于多个角色组,取权限规则去重合并。
  • 角色组变更后需要重新登录才能看到最新菜单。

分类授权 ​

除菜单权限外,管理员还可以按内容分类授权(如音乐、视频等分类),仅能管理被授权的分类内容。

菜单权限 API 一览 ​

后台接口统一挂载在 /admin 前缀下,常用权限相关接口:

接口方法说明
/admin/auth/menu/indexGET权限规则列表(树形)
/admin/auth/menu/createPOST新增权限规则
/admin/auth/menu/updatePOST编辑权限规则
/admin/auth/menu/deletePOST删除权限规则
/admin/auth/group/indexGET角色组列表
/admin/auth/group/createPOST新增角色组
/admin/auth/group/updatePOST编辑角色组
/admin/auth/group/deletePOST删除角色组
/admin/system/admin/indexGET管理员列表
/admin/system/admin/createPOST新增管理员
/admin/system/admin/updatePOST编辑管理员
/admin/system/admin/deletePOST删除管理员

CAUTION

请勿删除系统内置的超级管理员,否则将无法进入后台。删除管理员前建议先确认其账号角色,避免误删。

Released under the MIT License.