|
|
|
@ -0,0 +1,166 @@
|
|
|
|
|
|
|
|
# 管理型老师权限改造设计
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
## 背景
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
当前系统不需要单独的学校管理员角色。新的权限模型以老师账号为核心:平台超管维护教师账号,并指定某些教师为“管理型老师”。管理型老师登录后仍进入老师端,但拥有院系、专业、班级、教师、学生、任务分配、成绩中心等管理能力。
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
之前新增的学校管理员角色、学校管理员工作台、学校管理员专用菜单和接口不再作为后续方向,应逐步从菜单和权限体系中移除或废弃。
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
## 角色定义
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
### 平台超管
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- 维护学校基础信息。
|
|
|
|
|
|
|
|
- 维护教师账号。
|
|
|
|
|
|
|
|
- 可以新增、编辑、删除教师账号。
|
|
|
|
|
|
|
|
- 可以指定教师是否为管理型老师。
|
|
|
|
|
|
|
|
- 删除教师时,如果该教师已经创建过班级,则不允许删除。
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
### 管理型老师
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- 本质仍是老师账号。
|
|
|
|
|
|
|
|
- 由平台超管指定。
|
|
|
|
|
|
|
|
- 登录后进入老师端。
|
|
|
|
|
|
|
|
- 可以看到管理型老师所需菜单。
|
|
|
|
|
|
|
|
- 班级、学生、任务分配的可操作范围按“班级创建人”限制。
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
### 普通老师
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- 本质仍是老师账号。
|
|
|
|
|
|
|
|
- 默认不是管理型老师。
|
|
|
|
|
|
|
|
- 非超管创建或导入的教师账号,一律默认为普通老师。
|
|
|
|
|
|
|
|
- 普通老师不能通过前端传参、导入模板或接口绕过权限成为管理型老师。
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
## 教师账号管理
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
平台超管端的“学校管理员管理”应改为“教师管理”。
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
教师管理需要支持:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- 教师列表。
|
|
|
|
|
|
|
|
- 新增教师。
|
|
|
|
|
|
|
|
- 编辑教师。
|
|
|
|
|
|
|
|
- 删除教师。
|
|
|
|
|
|
|
|
- 教师导入。
|
|
|
|
|
|
|
|
- 展示“是否管理型老师”。
|
|
|
|
|
|
|
|
- 新增、编辑教师时设置“是否管理型老师”。
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
“是否管理型老师”的权限规则:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- 只有平台超管可以看到该字段。
|
|
|
|
|
|
|
|
- 只有平台超管可以设置该字段。
|
|
|
|
|
|
|
|
- 除平台超管外,其他任何角色创建教师账号时,页面不展示该字段。
|
|
|
|
|
|
|
|
- 除平台超管外,其他任何角色创建教师账号时,后端强制保存为 false。
|
|
|
|
|
|
|
|
- 除平台超管外,其他任何角色导入教师账号时,后端强制保存为 false。
|
|
|
|
|
|
|
|
- 即使非超管前端恶意传入 true,后端也必须覆盖为 false。
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
## 班级管理
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
班级需要增加“创建人”信息,用于标识该班级由哪个老师创建。
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
班级管理要求:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- 班级列表展示创建人。
|
|
|
|
|
|
|
|
- 管理型老师可以查看所有班级。
|
|
|
|
|
|
|
|
- 当前老师只能新增、编辑、删除、数据初始化自己创建的班级。
|
|
|
|
|
|
|
|
- 其他老师创建的班级只能查看。
|
|
|
|
|
|
|
|
- 删除教师时,如果该教师是任意班级的创建人,则不允许删除。
|
|
|
|
|
|
|
|
- 历史已有班级需要有可解释的创建人处理方式,避免权限判断为空。
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
## 院系管理
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
管理型老师可以操作院系管理:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- 新增院系。
|
|
|
|
|
|
|
|
- 编辑院系。
|
|
|
|
|
|
|
|
- 删除院系。
|
|
|
|
|
|
|
|
- 查询院系列表。
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
普通老师不开放院系管理操作入口。
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
## 专业管理
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
管理型老师可以操作专业管理:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- 新增专业。
|
|
|
|
|
|
|
|
- 编辑专业。
|
|
|
|
|
|
|
|
- 删除专业。
|
|
|
|
|
|
|
|
- 查询专业列表。
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
普通老师不开放专业管理操作入口。
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
## 学生管理
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
管理型老师可以查看所有学生账号,包括其他老师创建班级下的学生。
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
可操作范围:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- 只能新增学生到自己创建的班级。
|
|
|
|
|
|
|
|
- 只能导入学生到自己创建的班级。
|
|
|
|
|
|
|
|
- 只能编辑自己创建班级下的学生。
|
|
|
|
|
|
|
|
- 只能删除自己创建班级下的学生。
|
|
|
|
|
|
|
|
- 只能对自己创建班级下的学生做密码初始化。
|
|
|
|
|
|
|
|
- 只能对自己创建班级下的学生做数据初始化。
|
|
|
|
|
|
|
|
- 其他老师创建班级下的学生只能查看,不能操作。
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
学生导入要求:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- 导入模板中不出现数据 ID。
|
|
|
|
|
|
|
|
- 选择或填写的班级必须属于当前老师创建的班级。
|
|
|
|
|
|
|
|
- 后端必须校验班级创建人,不能只依赖前端下拉框限制。
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
## 任务分配
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
管理型老师可以查看所有班级的任务分配状态。
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
可操作范围:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- 只能对自己创建的班级进行任务分配。
|
|
|
|
|
|
|
|
- 其他老师创建的班级只能查看任务状态。
|
|
|
|
|
|
|
|
- 后端必须校验班级创建人,不能只依赖前端按钮隐藏。
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
## 成绩中心
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
管理型老师可以:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- 查看所有班级成绩。
|
|
|
|
|
|
|
|
- 按班级、学生等条件查询。
|
|
|
|
|
|
|
|
- 导出所有班级成绩。
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
成绩中心保持只读和导出能力,不按班级创建人限制查看范围。
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
## 菜单调整
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
平台超管端:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- 保留学校管理。
|
|
|
|
|
|
|
|
- 将学校管理员管理改为教师管理。
|
|
|
|
|
|
|
|
- 教师管理内展示并维护是否管理型老师。
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
老师端:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- 管理型老师展示院系管理、专业管理、班级管理、教师管理、学生管理、任务分配、成绩中心。
|
|
|
|
|
|
|
|
- 普通老师不展示管理型老师专属操作入口。
|
|
|
|
|
|
|
|
- 班级、学生、任务分配页面需要根据当前老师是否为创建人控制操作按钮。
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
学校管理员相关:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- 不再继续使用学校管理员工作台。
|
|
|
|
|
|
|
|
- 不再继续使用学校管理员菜单。
|
|
|
|
|
|
|
|
- 不再继续扩展学校管理员专用接口。
|
|
|
|
|
|
|
|
- 已经新增的学校管理员相关内容应在后续清理计划中移除或隐藏。
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
## 验收标准
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- 平台超管可以新增教师并设置是否管理型老师。
|
|
|
|
|
|
|
|
- 平台超管可以编辑教师的是否管理型老师状态。
|
|
|
|
|
|
|
|
- 非超管创建教师时无法看到是否管理型老师。
|
|
|
|
|
|
|
|
- 非超管创建或导入教师时,数据库中是否管理型老师为 false。
|
|
|
|
|
|
|
|
- 管理型老师登录后可进入管理菜单。
|
|
|
|
|
|
|
|
- 班级列表展示创建人。
|
|
|
|
|
|
|
|
- 管理型老师只能操作自己创建的班级。
|
|
|
|
|
|
|
|
- 管理型老师只能操作自己创建班级下的学生。
|
|
|
|
|
|
|
|
- 管理型老师只能给自己创建的班级分配任务。
|
|
|
|
|
|
|
|
- 管理型老师可以查看并导出所有班级成绩。
|
|
|
|
|
|
|
|
- 已创建班级的教师不能被删除。
|
|
|
|
|
|
|
|
- 前端隐藏无权限按钮,后端同步拒绝越权操作。
|