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