## 目标 使认证、成员关系、案件状态、账号管理、审计、前端壳层和 API 契约准确表达角色责任,而不是只隐藏 UI。 ## 优先级与边界 基础权限与交互质量;为角色化最小充分信息、可恢复操作和审计提供底座。 ## 必须完成的工作 - 把全局账号权限与案件成员角色分离;支持临时委派/角色切换时需有明确授权与访问留痕。 - 所有敏感操作、状态变更、权限拒绝和数据裁剪在服务端执行;前端同步清理上一账户缓存、下载链接和视图状态。 - 为加载、空态、错误、确认、无障碍和会话失效提供可行动状态;避免用成功假象掩盖失败。 - OpenAPI、前后端类型、数据库模型、审计事件和测试夹具须与真实序列化和权限矩阵一致。 ## 验收标准 - [ ] 家属、指挥、志愿者、管理员、非成员和已失效会话的权限/字段/状态机均有自动化验证。 - [ ] 管理员身份不自动获得无关案件的业务详情;无权与不存在资源在响应上不泄露资源存在性。 - [ ] 角色切换、退出、会话失效和错误重试后不会保留上一角色的敏感缓存或操作入口。 - [ ] 契约漂移、无障碍关键路径、审计最小化和数据裁剪均有可定位测试证据。 --- ## 详细实施要求 - **字段**:`Priority=P0 - 初赛必需`;`Sprint=Day 1-3`;`Estimate=0.5d`;`Demo Step=基础设施`。 - **关联**:总草案 `A-01`;`POST /api/auth/login`、`GET /api/auth/me`、`POST /api/auth/logout`。 - **内容**:完善当前登录页和认证上下文的提交状态、通用错误语义、会话恢复、退出和过期回退。 后端对账号枚举和限流的语义必须原样保留,前端不自行区分“账号不存在”与“密码错误”。 - **验收标准**:有效账号可进入对应角色主页;登录中禁止重复提交;失败内容不暴露账号存在性、 密码或 token;刷新后仅通过 `/auth/me` 恢复会话;退出本地会话前尝试服务端撤销;网络异常或 会话失效时提供安全的重新登录入口。
Activity
feat(frontend): refine login form experience (#69)
fix(frontend): consume remote logout failures (#69)
Merge pull request #114 from AG-Angui/feat/issue-69-auth-entry