本文档用于规范 AIHUB 平台「身份与权限」配置逻辑,覆盖角色定义、资源结构、菜单/按钮授权、默认种子规则及权限约束,帮助管理员快速标准化配置角色、资源、角色授权功能。

一、核心与关系

1.1 关联关系

平台权限采用「用户-角色-资源」三级关联模型,所有菜单、页面、按钮权限均通过角色绑定资源实现控制,核心关联逻辑如下:

用户  ──────────►  角色
                    │
                    ▼
              (角色 × 资源授权)        (模块 / 菜单 / 元素按钮)
                    │                      ▲
                    └──────────────────────┘

1.2 核心定义

  • 角色:平台统一指定编号,非自增生成,与用户共用同一套数值体系,保证用户身份与角色权限统一对应。
  • 资源:三级树形结构,层级依次为「模块 → 菜单 → 元素(按钮/操作)」,是权限授权的最小载体。
  • 角色资源授权:同一角色针对同一资源仅保留一条授权记录;授权中的展示规则,优先级高于资源默认展示状态。

二、角色标记与编号规则

标记 编码建议 名称 是否入库 属性说明
0 — 游客 否 系统预留,无后台菜单权限
1 common 普通用户 是 系统内置默认角色,不可修改删除
10 admin 管理员 是 系统内置默认角色,不可修改删除
21–30 自定义(如 operation) 运营管理员 自定义业务角色,专属运营权限
31–40 自定义(如 finance ) 财务管理员 自定义业务角色,专属财务权限
41–99 自定义 扩展岗位角色 需手工创建 预留扩展号段,适配特殊岗位
100 root 超级管理员 是 系统最高权限内置角色,不可修改删除

2.1 详细标记规则

  • 0 游客:不录入系统角色库,仅做未登录身份识别,无任何后台菜单权限,避免干扰正常权限判断逻辑。

  • 系统固定保留ID(1、10、100):为平台核心内置角色,编号、编码、名称固定,禁止删除、禁止修改。

  • 无效预留号段(2–9):无完整管理权限,无法配置后台管理权限,禁止创建使用。

  • 常规自定义号段(21–40):运营、财务等常规业务角色专用,创建时必须手动指定合规唯一ID,需满足 0 < ID < 100。

  • 扩展号段(41–99):用于新增细分岗位、特殊权限角色,支撑平台权限扩容。

  • 同号段细分规则:同一号段可创建多个细分角色,例:21(运营管理员)、22(运营只读员),保证ID唯一、权限区分。

  • 硬性禁忌:所有自定义角色严禁占用 0、1、10、100 保留ID。

三、资源目录与资源类型

3.1 资源层级与类型

平台资源为固定三级树形结构,层级不可错乱,依赖关系固定:

  • 模块:侧栏大分组,为最高层级资源;
  • 菜单:具体功能页面,必须归属某一个模块;
  • 元素(按钮/操作):页面内操作按钮,必须归属某一个菜单。

3.2 资源状态与展示规则

  • 资源通用状态:启用、停用,停用资源自动从侧栏隐藏。
  • 元素(按钮)专属状态:可见可点、不展示、可见但禁用(置灰)。
  • 内置资源:系统预设,禁止删除、禁止修改。
  • 删除规则:删除非内置资源时,会级联删除其所有子孙节点,同时清空对应角色授权记录。

3.3 系统默认完整资源目录

为前台侧栏权限回退基准配置,后台资源目录默认包含以下模块、菜单及核心按钮:

仪表盘
├── 数据概览
├── 使用日志
└── 任务调度

管理员配置
├── 用户管理
├── 身份与权限
│   └── 角色权限管理-保存(按钮)
├── 发票管理
├── 兑换码管理
└── 充值记录

运营管理
├── 提供商管理
│   └── 提供商管理-排序(按钮)
├── 提供商利润折扣
├── 提供商分组
├── 提供商优先级调度
├── 错误日志规则
├── 缓存命中探测
├── 模型管理
├── 组织管理
├── 企业折扣
└── 分销商管理

系统配置
├── 系统监控
├── 系统参数
├── 模型定价
├── 区域策略
├── 支付配置
├── 安全配置
├── 审计日志
└── 全局配置

四、核心授权规则

授权决定角色的菜单展示、按钮操作权限,所有权限生效严格遵循以下规则,配置错误会导致权限失效或异常:

  1. 未授权即无权限:未添加到角色授权列表的资源,侧栏直接隐藏,用户无任何访问权限。

  2. 全量覆盖机制:保存授权为全量更新,系统会先清空该角色历史所有授权记录,再写入本次配置的授权列表。

  3. 层级联动授权:仅授权子菜单/按钮不生效,必须同时授权「模块+父菜单+子元素」,父节点未授权则子节点自动隐藏。

  4. 默认种子权限基准

    • 超级管理员(100):默认拥有平台全部资源权限;
    • 管理员(10):默认拥有仪表盘、管理员配置、运营管理,不含系统配置;
    • 普通用户、游客:默认无任何后台资源权限,侧栏为空。
  5. 种子补齐规则:已存在自定义授权的管理员、超管角色,系统不会覆盖原有授权,仅自动补齐新增的按钮、资源节点。

  6. 自定义角色无自动种子:运营、财务等自定义角色,无系统默认授权,必须手动完成资源授权配置。

五、标准授权矩阵

5.1 仪表盘模块

资源 code 游客 0 普通用户 1 管理员 10 运营 21–30 财务 31–40 超管 100
仪表盘 - - ● ● ● ●
数据概览 - - ● ● ● ●
使用日志 - - ● ● - ●
任务日志 - - ● ● - ●

5.2 管理员配置模块

资源 code 游客 0 普通用户 1 管理员 10 运营 21–30 财务 31–40 超管 100
管理员 - - ● ● ● ●
用户管理 - - ● ● - ●
身份与权限 - - ● - - ●
身份与权限_权限保存 - - ● - - ●
发票管理 - - ● ● ● ●
兑换码管理 - - ● ● ● ●
充值记录 - - ● ● ● ●

权限说明:身份与权限及保存按钮仅对超级管理员开放,普通管理员仅可查看,运营、财务角色禁止授权,避免越权修改角色权限。

5.3 运营管理模块

资源 code 游客 0 普通用户 1 管理员 10 运营 21–30 财务 31–40 超管 100
运营管理 - - ● ● - ●
提供商管理 - - ● ● - ●
提供商管理_排序 - - ● ● - ●
提供商利润折扣 - - ● ● - ●
提供商分组 - - ● ● - ●
提供商优先级跳读 - - ● - - ●
错误日志规则 - - ● - - ●
缓存命中探测 - - ● - - ●
模型管理 - - ● ● - ●
组织管理 - - ● ● - ●
企业折扣 - - ● ● - ●
分销商 - - ● ● - ●

5.4 系统配置模块

资源 code 游客 0 普通用户 1 管理员 10 运营 21–30 财务 31–40 超管 100
系统配置 — — — — — ●
系统监控 — — — — — ●
系统参数 — — — — — ●
模型定价 — — — — — ●
区域配置 — — — — — ●
支付配置 — — — — — ●
安全配置 — — — — — ●
审计日志 — — — — — ●
全局配置 — — — — — ●

权限说明:系统配置模块默认仅超级管理员可操作;平台历史侧栏行为保持一致。

六、系统默认配置行为

  1. 系统初始化自动写入三大基础角色:普通用户(1)、管理员(10)、超级管理员(100)。

  2. 无任何授权的空白角色,系统自动初始化种子权限:

    • 管理员(10):自动授予仪表盘、管理员配置、运营管理模块权限,排除系统配置;
    • 超级管理员(100):自动授予平台全部资源权限。
  3. 增量补齐机制:无论角色是否已有授权,系统都会自动为管理员、超级管理员补齐「身份与权限-权限保存」「提供商管理-排序」核心按钮权限。

  4. 自定义角色无自动种子:运营、财务、扩展类角色,系统不会自动分配权限,需管理员手动创建角色、配置资源授权。

七、硬性约束与禁忌清单

  1. 管理端接口权限约束:自定义角色编号必须 >10 才可调用管理端接口,服务端会通过角色ID校验权限合法性。

  2. 角色新建约束:系统保留角色 0、1、10、100 禁止新建、复制、修改,0 仅作为游客身份预留标识。

  3. 业务角色编号规范:运营角色固定使用21号段、财务角色固定使用31号段,编号必须大于10,满足管理端接口调用条件。

  4. 内置资源约束:所有系统内置角色、内置资源,禁止删除、禁止修改编码与核心参数。

  5. 资源关联约束:页面按钮(元素)的编码、名称必须与归属菜单关联绑定,例:身份与权限_权限保存 按钮从属「身份与权限」菜单。

  6. 权限收口约束:平台接口基础判断规则为 role >=10 即为管理员身份;运营、财务角色虽满足接口权限,但需通过前端菜单不授权+按钮隐藏收口权限,敏感写操作(角色授权、全局配置等)严禁授予非超管角色。

八、操作注意事项

  • 内置核心角色严禁删除、修改ID及编码,仅支持查看基础信息,避免平台权限体系崩溃。

  • 自定义角色严格遵循号段规范,禁止占用系统保留号段,防止权限冲突、接口校验异常。

  • 角色修改、删除、重新授权前,必须核查角色绑定用户,避免用户权限批量失效。

  • 新增自定义角色后,必须手动完成模块、菜单、按钮全层级授权,否则角色无任何操作权限。

  • 授权操作需注意全量覆盖特性,调整权限前需确认完整授权列表,避免误删有效权限。

作者:admin  创建时间:2026-09-15 10:40
最后编辑:admin  更新时间:2026-09-23 10:53