角色权限矩阵
共 8 个模块、43 个权限点、5 个角色。矩阵为权限配置的唯一口径,前端菜单与后端接口鉴权均由本表生成。
🧩
RBAC 权限模型:权限采用「角色 → 权限点」的 RBAC 模型,前端隐藏入口 + 后端接口二次校验,任何前端绕过(改 DOM、直接调接口、伪造参数)都无法越权取数;越权请求由服务端拦截并写入审计日志。
权限矩阵
✔ 允许 · — 禁止 · 黄色为带条件的行级权限
✔ 允许
— 禁止
条件 行级限制
| 权限点 | 超级管理员 | 教务 | 老师 | 评估师 | 家长 |
|---|---|---|---|---|---|
| 学员档案(7) | |||||
| 查看全部学员档案 | ✔ | ✔ | 仅自己学员 | ✔ | — |
| 查看自己名下学员 | ✔ | ✔ | ✔ | ✔ | — |
| 新建学员档案 | ✔ | ✔ | — | — | — |
| 编辑学员档案 | ✔ | ✔ | 仅自己学员 | 仅评估字段 | — |
| 删除学员(软删除) | ✔ | — | — | — | — |
| 导出学员名单 | ✔ | ✔ | — | — | — |
| 查看诊断 / 评估字段 | ✔ | ✔ | 仅自己学员 | ✔ | — |
| 排课(6) | |||||
| 查看全部课表 | ✔ | ✔ | — | 仅评估课次 | — |
| 查看自己课表 | — | ✔ | ✔ | ✔ | — |
| 新建排课 | ✔ | ✔ | — | — | — |
| 批量排课 | ✔ | ✔ | — | — | — |
| 课次改期 | ✔ | ✔ | 仅自己课次 | — | — |
| 取消课次 | ✔ | ✔ | — | — | — |
| 销课(3) | |||||
| 销课 | ✔ | ✔ | 仅自己课次 | — | — |
| 批量销课 | ✔ | ✔ | — | — | — |
| 撤销销课 | ✔ | ✔ | — | — | — |
| 课时(4) | |||||
| 查看课时流水 | ✔ | ✔ | 仅自己学员 | — | 仅自己孩子 |
| 课时充值 | ✔ | ✔ | — | — | — |
| 课时调整 | ✔ | ✔ | — | — | — |
| 课时冻结 | ✔ | ✔ | — | — | — |
| IEP(6) | |||||
| 查看 IEP | ✔ | ✔ | 仅自己学员 | ✔ | 仅自己孩子 |
| 新建 IEP 版本 | ✔ | ✔ | 仅自己学员 | ✔ | — |
| 编辑当前版本 | ✔ | ✔ | 仅自己学员 | — | — |
| 审核 IEP | ✔ | ✔ | — | — | — |
| 导出 IEP | ✔ | ✔ | — | ✔ | — |
| 查看历史版本 | ✔ | ✔ | 仅自己学员 | ✔ | 仅自己孩子 |
| 影像(5) | |||||
| 上传影像 | ✔ | ✔ | 仅自己课次 | — | — |
| 查看影像 | ✔ | ✔ | 仅自己学员 | 仅评估相关 | 仅自己孩子 |
| 下载影像 | ✔ | ✔ | 仅自己学员 | — | 仅自己孩子 |
| 删除影像 | ✔ | ✔ | 仅自己上传 | — | — |
| 同步影像至家长端 | ✔ | ✔ | 仅自己课次 | — | — |
| 系统(6) | |||||
| 账号管理 | ✔ | — | — | — | — |
| 角色配置 | ✔ | — | — | — | — |
| 审计日志查看 | ✔ | ✔ | — | — | — |
| 审计日志导出 | ✔ | — | — | — | — |
| 备份恢复 | ✔ | — | — | — | — |
| 系统设置 | ✔ | 仅业务规则 | — | — | — |
| 家长端(6) | |||||
| 查看自己孩子档案 | — | — | — | — | ✔ |
| 查看自己孩子课时 | — | — | — | — | ✔ |
| 查看自己孩子课表 | — | — | — | — | ✔ |
| 查看自己孩子影像 | — | — | — | — | ✔ |
| 查看自己孩子 IEP | — | — | — | — | ✔ |
| 查看 / 接收消息 | — | — | — | — | ✔ |
共 8 个模块 · 43 个权限点 · 5 个角色
角色定义
角色决定数据范围,权限点决定可执行动作超级管理员
全部- 定位
- 机构负责人 / 督导,对系统负最终责任
- 数据范围
- 全部校区、全部学员、全部模块
- 典型使用者
- 李禾(创始人 / 督导)
唯一可操作系统设置、账号、角色与备份恢复的角色,建议仅保留 1–2 个账号。
教务
本校区- 定位
- 教务主管 / 校区教务,负责日常排课与销课管理
- 数据范围
- 本校区全部学员与课表
- 典型使用者
- 张敏(教务主管)
可排课、销课、撤销销课、调整课时、审核 IEP;不能管理账号与角色。
老师
自己名下- 定位
- 个训 / 感统 / 言语老师,一线教学执行
- 数据范围
- 仅自己名下的学员与自己的课次
- 典型使用者
- 王雅、李明、赵倩
可销自己课次、写课堂记录、上传影像;不能查看其他老师的学员档案。
评估师
全部(评估域)- 定位
- 评估与 IEP 制定,负责入学评估与阶段复评
- 数据范围
- 全部学员的评估与 IEP 相关数据
- 典型使用者
- 陈静(评估师)
可新建 IEP 版本、导出评估资料;不参与排课与销课。
家长
自己孩子- 定位
- 学员监护人,通过家长端小程序使用
- 数据范围
- 仅自己绑定的孩子
- 典型使用者
- 陈先生(父)、林女士(母)等已绑定家长
只读:可看档案摘要、课时、课表、影像、IEP;不可见诊断原文,无任何写权限。
角色维护要求
需审批- 变更流程
- 岗位调整由校区负责人发起,超级管理员执行
- 复核周期
- 每季度复核一次角色与在岗情况
- 留痕要求
- 变更前后权限值、操作人、时间、IP 全量写入审计日志
离职账号当日停用并回收全部角色,禁止直接删除账号。
条件权限(数据行级隔离)实现口径:
1. 「仅自己学员」= 服务端在 SQL 层自动追加 teacher_id = 当前登录人 条件,不依赖前端传参,老师只能看到自己名下的学员与课次。
2. 「仅自己孩子」= 通过家长与学员的绑定关系表过滤(见 家长与绑定),家长只能看到自己绑定的孩子,解绑后立即失效。
3. 越权请求(越权的学员 ID、越权的接口、越权的字段)由服务端统一返回 403,并写入告警日志,连续 3 次触发该账号风控提醒。
4. 权限变更保存后立即生效;已登录用户在下一次请求时重新鉴权,无需等待会话过期。
1. 「仅自己学员」= 服务端在 SQL 层自动追加 teacher_id = 当前登录人 条件,不依赖前端传参,老师只能看到自己名下的学员与课次。
2. 「仅自己孩子」= 通过家长与学员的绑定关系表过滤(见 家长与绑定),家长只能看到自己绑定的孩子,解绑后立即失效。
3. 越权请求(越权的学员 ID、越权的接口、越权的字段)由服务端统一返回 403,并写入告警日志,连续 3 次触发该账号风控提醒。
4. 权限变更保存后立即生效;已登录用户在下一次请求时重新鉴权,无需等待会话过期。