docs: define teacher student roster scope
parent
0426e89715
commit
36a616cccc
@ -0,0 +1,35 @@
|
||||
# 教师端学生管理范围设计
|
||||
|
||||
## 目标
|
||||
|
||||
学生管理只以教学班为范围,不再展示或处理行政班。不同教师身份看到并可维护的数据范围一致地由前后端执行。
|
||||
|
||||
## 规则
|
||||
|
||||
- 普通教师(角色为教师且 `teacherAdmin=false`)只能看到本人创建的教学班及其在读学生。
|
||||
- 管理员教师(角色为教师且 `teacherAdmin=true`)能看到本校全部教学班及其在读学生。
|
||||
- 班级未选择时,普通教师汇总本人教学班学生;管理员教师汇总本校教学班学生。
|
||||
- 选择教学班时,只返回该教学班学生;普通教师仅能选择本人创建的教学班。
|
||||
- 学生管理页仅展示教学班;不再展示、查询或以行政班授权。
|
||||
- 管理员教师对结果中的每名学生均可编辑、删除、初始化密码和初始化数据;普通教师仅可操作本人教学班成员。
|
||||
|
||||
## 前端
|
||||
|
||||
- 班级下拉根据登录用户的 `teacherAdmin` 和学校范围加载教学班。
|
||||
- 默认列表请求不再依赖空班级的逐行只读判定;数据由后端按身份范围返回。
|
||||
- 操作列始终渲染四个操作按钮,使用不可换行的横向布局;普通教师结果集不包含无权学生。
|
||||
|
||||
## 后端
|
||||
|
||||
- 学生列表接口从认证用户取得身份,不信任客户端传入的 `operatorId` 作为授权依据。
|
||||
- 按上述范围计算可访问教学班;未选择教学班时按该集合查询学生。
|
||||
- 编辑、删除、密码初始化、数据初始化接口以同一套“教学班成员 + 教师范围”规则鉴权。
|
||||
- 不允许以行政班作为教师端学生管理的授权或查询范围。
|
||||
|
||||
## 验收
|
||||
|
||||
1. 普通教师登录后,下拉只显示本人教学班;不选班可看到本人全部教学班学生,并可操作。
|
||||
2. 管理员教师登录后,下拉显示本校全部教学班;不选班可看到本校全部教学班学生,并可操作。
|
||||
3. 选择任一教学班后,列表仅包含该班在读学生。
|
||||
4. 操作栏四个按钮始终横向单行展示。
|
||||
5. 非本校及普通教师非本人教学班的操作请求被后端拒绝。
|
||||
Loading…
Reference in New Issue