Skip to content

[Feature] 认证入口 - 登录、会话恢复、退出与失效反馈 #69

Closed

Description

@cg8-5712

目标

使认证、成员关系、案件状态、账号管理、审计、前端壳层和 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 恢复会话;退出本地会话前尝试服务端撤销;网络异常或
    会话失效时提供安全的重新登录入口。
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestfrontendFrontend web workspace delivery

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions