概览
公开教程 · 无需登录

实现教程

本课在第 2 课已基线化的 change 之上,实现可登录、可按班级隔离、可上传入库的系统。问答与检索不在本课范围,安排在第 4 课。后续各页按模块说明一次请求的完整链路;具体编码顺序仍以 tasks.md 为准。

1先记住三条结论

认证、授权与数据隔离是三件事

认证回答「你是谁」,授权回答「你能做什么」,隔离回答「你能访问哪一班的数据」。三者都必须在服务端完成,缺其一则后续需求无法判定。

隐藏入口不等于访问控制

学生仍可直接调用教师接口,同一角色的用户也可能持有他人材料的标识发起请求。每一次请求都必须在 Go 服务端核对角色与班级。

规约是契约

代码按 Requirement 与 Scenario 实现。规约未覆盖的功能不得顺带追加;范围不一致时,先改规约再改代码。