liuyun a8e8ef8606
Some checks are pending
CI / backend (push) Waiting to run
CI / frontend (push) Waiting to run
feat(session): 在线会话强踢 + 账号锁定/解锁(子模块 + openspec change)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-10-11 21:36:24 +08:00

679 B
Raw Blame History

MODIFIED Requirements

Requirement: 用户状态机

user 实体 SHALL 通过 status 字段支持启用/停用(管理员手动启停),并通过独立的 locked_at(锁定时间,可空)与 lock_reason(锁定原因,可空)表示安全锁定;「锁定」由 locked_at 非空推导,status 仅存 enabled/disabled。停用或锁定的用户 SHALL 均无法登录。

Scenario: 锁定登录

  • WHEN 锁定用户(locked_at 非空)尝试登录
  • THEN 系统拒绝登录并提示账号已锁定

Scenario: 停用登录

  • WHEN 停用用户(status=disabled)尝试登录
  • THEN 系统拒绝登录并提示账号已停用