Step5:日志与权限
模块目标¶
- 实现评测日志的记录与查询,提升系统可追溯性和调试能力。
- 增加细粒度权限管理,如是否允许用户查看评测日志、测例详情等。
- 支持管理员对日志和权限的管理与审计。
前置知识要求¶
技术点 | 推荐学习内容 |
---|---|
日志设计 | 日志结构、存储与查询 |
权限控制 | 角色权限、接口校验 |
REST API 设计 | GET 路由、权限参数 |
任务分解¶
任务 1:评测日志记录与查询¶
- 目标:为每次评测任务记录日志。
- 要点:日志应与评测任务关联,支持按
submission_id
查询。
为简化,评测日志可见性变为公开后,所有登录的人都能看到这个评测的日志,但是没权限的用户仍对
Step 2 & 3
中评测的简单结果不可见
任务 2:日志权限管理¶
- 目标:实现细粒度权限控制,决定哪些用户可以查看哪些日志内容。
- 要点:
- 普通用户仅能查看自己的评测日志。
- 管理员可查看所有日志。
- 可扩展"允许公开日志"功能,支持题目设置是否允许所有用户查看日志详情。
任务 3:权限配置与审计¶
- 目标:支持管理员配置日志的可见性策略,并能审计用户的日志访问行为。
- 要点:权限配置可针对题目、用户角色等维度,审计日志记录用户的访问操作。
评分细则¶
功能/接口 | 分值 | 评分说明 |
---|---|---|
日志记录与查询 | 2 | 日志结构、查询接口、内容裁剪 |
日志/测例权限管理 | 2 | 权限配置、接口校验 |
审计与安全说明 | 1 | 日志访问审计 |
小计 | 5 |
作者: