forked from wangziqi/gongxue-base
feat: add tenant class student scopes
This commit is contained in:
@@ -144,7 +144,7 @@ provider event id 幂等
|
||||
| tenant_owner | `*` |
|
||||
| tenant_admin | `*` |
|
||||
| tenant_operator | 内容、营销、兑换码/优惠券只读、客资/CRM 只读 |
|
||||
| teacher | 内容维护 |
|
||||
| teacher | 内容维护、班级查看、学生查看 |
|
||||
| sales | 兑换码、优惠券、客资 |
|
||||
| agent | 兑换码/优惠券只读、本人的客资 |
|
||||
| student | 无后台权限 |
|
||||
@@ -156,11 +156,14 @@ provider event id 幂等
|
||||
- 模板可保存 `menuPermissions`、`modulePermissions`、`fieldPermissions`、`dataScope`,供 Taro/管理台做菜单、模块、字段可见性和数据范围 UI。
|
||||
- 模板含 `*`、`tenant_owner`、`tenant_admin` 等管理员级能力时,只有租户 owner 可创建或授予;普通租户管理员不能自造全权限模板。
|
||||
- 角色模板创建、更新、禁用都会写入 `audit_logs`。
|
||||
- `tenant_classes` 和 `tenant_class_members` 提供班级、班主任、教师、助教、学生分组边界。
|
||||
- 教师如无 `classes:write`、`students:write`、`members:read` 等全局管理权限,只能查看自己在 `tenant_class_members` 中负责的班级及这些班级下的学生;也可由角色模板 `dataScope.classIds` 显式限定。
|
||||
- 学生手机号等敏感字段可由 `fieldPermissions` 控制,后端会对不可见字段返回 `null`,前端不得绕过其它接口补取。
|
||||
|
||||
后续要补:
|
||||
|
||||
- 前端角色模板配置 UI。
|
||||
- 班级/教师/学生范围权限。
|
||||
- 更细的数据范围 UI,例如地区、题库、销售团队、本人客资、班级学生组合规则。
|
||||
|
||||
## 上线前安全验收清单
|
||||
|
||||
@@ -170,6 +173,7 @@ provider event id 幂等
|
||||
- 跨租户学生读取题目/订单/资料返回拒绝。
|
||||
- 销售只能查看自己权限范围内客资。
|
||||
- 代理不能查看其他代理客资。
|
||||
- 教师只能查看自己负责班级的学生,不能查看其它班级或跨租户学生。
|
||||
- 教师不能修改租户商户密钥。
|
||||
- 学生不能访问租户后台接口。
|
||||
- 未开通权益不能下载 SVIP 资料或播放会员视频。
|
||||
|
||||
Reference in New Issue
Block a user