多角色账号按 All > College > Class > Self 自动取最高权限。

学院管理员限制在所属学院。
辅导员通过稳定账号 ID 绑定行政班,避免重名串班。
教师只能访问本人档案、授课课程和所授课学生。
学生只能访问本人档案及所在班级课程。
教师/学生角色会自动校验并绑定工号或学号档案。
超级管理员可在用户页面调整角色、学院、工号/学号,并预览生效后的数据范围。
This commit is contained in:
2026-07-24 14:54:30 +08:00 Unverified
parent 0b463fa4f2
commit bcc4d33bd5
26 changed files with 2333 additions and 88 deletions
+13 -1
View File
@@ -4,6 +4,8 @@
当前已实现系统登录与角色权限、基础数据、用户管理、教师档案、学生档案、课程库、培养方案、教学任务、排课课表和首页统计。人员及课程列表支持组合筛选、服务端分页和完整增删改查;培养方案支持课程模块、专业年级版本、复制新版本、发布锁定和旧版本归档;教学任务支持学期课程开设、多教师、合班、容量校验、发布与结课;排课支持单双周、周次节次、教室容量、教师/行政班/教室冲突校验和版本化发布。
权限采用后端强制校验的角色与数据范围模型。多角色账号按 `All > College > Class > Self` 取最高数据范围:校级角色可访问全校数据,院系管理员限定本学院,辅导员通过稳定的账号 ID 绑定所带行政班,教师和学生限定本人及当前教学关系;前端菜单和路由限制仅作为交互辅助,不替代 API 授权。
## 本地开发:热更新模式
本地开发固定使用 SQLite。首次启动会自动创建 `src/Jiaowu.Api/data/jiaowu-dev.sqlite` 并写入演示组织数据。
@@ -20,7 +22,17 @@ npm install
npm run dev
```
访问 `http://localhost:5173`,开发账号为 `admin`,密码为 `Admin@123456`
访问 `http://localhost:5173`。本地开发会自动创建以下分级权限账号:
| 数据范围 | 账号 | 密码 |
| --- | --- | --- |
| 超级管理员 | `admin` | `Admin@123456` |
| 校级教务 | `academic` | `Academic@123456` |
| 学院教务 | `college` | `College@123456` |
| 所带班级 | `counselor` | `Counselor@123456` |
| 教师本人 | `teacher` | `Teacher@123456` |
| 学生本人 | `student` | `Student@123456` |
| 领导查看 | `leader` | `Leader@123456` |
## 本地开发:单服务模式