权限与角色
系统采用 两层权限模型:一个全局的超级管理员,加上按 学科 授予的作用域角色。非管理员用户的一切访问都来自"学科成员"授权——没有被授予任何学科,就看不到题库内容。
两层模型
第一层 · 全局角色
- 超级管理员(
is_superuser):不受任何学科/可见性限制,可管理用户、系统参数、AI 配置,以及所有学科的全部内容;唯有超管能新建 / 编辑 / 删除学科本身。
第二层 · 学科作用域角色
在「学科管理 → 成员管理」中为老师逐个学科授予:
| 角色 | 说明 |
|---|---|
| 只读 | 只能查看本学科的题目、知识点、标签,不能修改 |
| 可编辑 | 可在本学科新建 / 编辑 / 删除题目 |
| 学科负责人 | 在"可编辑"基础上,还能管理本学科的成员、知识点、标签、标签分类 |
一个老师可以被授予多个学科,并且在不同学科可以是不同角色。
能力矩阵
| 能力 | 超级管理员 | 学科负责人 | 可编辑 | 只读 |
|---|---|---|---|---|
| 查看本学科题目 / 知识点 / 标签 | ✅ 全部学科 | ✅ 本学科 | ✅ 本学科 | ✅ 本学科 |
| 新建 / 编辑题目 | ✅ | ✅ | ✅ | ❌ |
| 管理知识点 / 标签 / 标签分类 | ✅ | ✅ 本学科 | ❌ | ❌ |
| 学科成员管理(分配角色) | ✅ | ✅ 本学科 | ❌ | ❌ |
| 新建 / 编辑 / 删除学科 | ✅ | ❌ | ❌ | ❌ |
| 知识点向量重建 / 导入 | ✅ | ❌ | ❌ | ❌ |
| 用户管理 / 系统参数 / AI 配置 / 操作审计 | ✅ | ❌ | ❌ | ❌ |
未在能力矩阵中出现的其他学科,对该用户完全不可见——列表、搜索、导出乃至 AI 对话检索都不会返回。
分配角色
谁能分配
超级管理员可给任意学科分配成员;学科负责人可在自己负责的学科内分配成员。
- 进入 学科管理(仅超管与学科负责人可见此入口)。
- 在目标学科那一行点击 成员管理。
- 选择老师、选择角色(只读 / 可编辑 / 学科负责人),点击 添加;已有成员可随时改角色或移除。
题目可见性:公开与私有
每道题目有一个可见性开关(在题目编辑弹窗中设置):
- 公开:本学科成员均可见(默认)。用于平时训练题。
- 私有:仅创建者本人可见。适合原创中 / 改编中、尚未定稿、或将用于考试而不希望他人提前看到的题目。
私有题不能加入共享稿件
共享(团队可见)的组稿会把题目内容冻结进稿件,为避免泄漏,私有题不允许被加入共享组稿;放进你自己的个人组稿则不受限。
未被分配学科时
如果一个老师尚未被授予任何学科,他登录后:
- 顶部学科选择器显示「暂无可用学科 · 请联系管理员开通」;
- 页面顶部出现提示条,引导联系管理员;
- 不会被引导去创建学科(创建学科是管理员的事)。
管理员在「学科管理 → 成员管理」中为其授权后,刷新即可正常使用。
上线与迁移说明
首次升级到带权限的版本时:
- 既有的管理员账号保持不变,继续是超级管理员;
- 其余既有用户不会被自动降级,也不会被自动分配学科——请管理员按需在成员管理中授权;
- 既有题目一律标记为"公开",不影响原有可见性。
全新安装
全新安装时,首个账号由初始化向导创建为超级管理员;之后由其创建学科、创建老师账号并授权。