feat: add tenant student operations

This commit is contained in:
Codex
2026-06-29 01:16:25 +08:00
parent 61240c5833
commit 726d090a8e
12 changed files with 908 additions and 24 deletions

View File

@@ -1,6 +1,6 @@
# 多租户与鉴权安全契约
更新时间2026-06-28
更新时间2026-06-29
这个系统后续要卖给同行作为题库 SaaS因此租户隔离、鉴权、资源权限和审计是商用红线。前端可以先按迁移期接口联调也可以按 Supabase 官方推荐使用 publishable key + RLS 的客户端能力管理 Auth/session但正式上云验收前必须完成本文件的 P0 项。
@@ -159,6 +159,9 @@ provider event id 幂等
- `tenant_classes``tenant_class_members` 提供班级、班主任、教师、助教、学生分组边界。
- 教师如无 `classes:write``students:write``members:read` 等全局管理权限,只能查看自己在 `tenant_class_members` 中负责的班级及这些班级下的学生;也可由角色模板 `dataScope.classIds` 显式限定。
- 学生手机号等敏感字段可由 `fieldPermissions` 控制,后端会对不可见字段返回 `null`,前端不得绕过其它接口补取。
- 学生批量导入、学生禁用/恢复、批量分班、备注、跟进任务分别使用 `students:bulk:write``students:status:write``students:notes:*``students:followups:*` 权限点。
- 教师默认只可对范围内学生创建备注和跟进任务;批量导入、禁用/恢复学生、跨班级指派跟进任务必须显式授权并通过后端范围校验。
- 备注支持 `tenant_staff``class_staff``author_only` 可见性;`author_only` 备注只能由作者或全局学生管理权限账号更新。
后续要补: