暂停平台用户 handler(FR-10/FR-6·平台级):active → suspended,成功后硬删其全部 session。
active → suspended
经 UserStatusService.transition 严格裁决(§9.4 迁移表·非法 → 409·不存在 → null 转 404)。成功后硬删该用户全部 session 行 (D4 session 模式即时失权·§159)→ 当前请求立刻 401;deny-list 守卫作纵深防御拦重登。 成败均落结构化审计(FR-6)。
UserStatusService.transition
架构精度修宪 S3:状态写与 session 删同事务原子——关键段包 uow.run(transition 内部 的 uow.run 可重入复用外层),session 删经 AUTH_SESSION_STORE 端口(原 em.nativeDelete 直捅 auth 表的越界写收编;适配器 fork() ALS 感知·事务内自动同 em)。删除失败 → 状态写 一并回滚,不再留「已 suspend 但 session 仍活」窗口。
uow.run
AUTH_SESSION_STORE
em.nativeDelete
执行暂停:同事务内迁移态 + 删 session;非法 → 409;查无 → null;成败均落审计。
携带用户 id/操作者/可选原因的命令。
治理结果(用户 id + 新态);查无为 null。
null
用户生命周期迁移非法时。
暂停平台用户 handler(FR-10/FR-6·平台级):
active → suspended,成功后硬删其全部 session。Remarks
经
UserStatusService.transition严格裁决(§9.4 迁移表·非法 → 409·不存在 → null 转 404)。成功后硬删该用户全部 session 行 (D4 session 模式即时失权·§159)→ 当前请求立刻 401;deny-list 守卫作纵深防御拦重登。 成败均落结构化审计(FR-6)。架构精度修宪 S3:状态写与 session 删同事务原子——关键段包
uow.run(transition 内部 的 uow.run 可重入复用外层),session 删经AUTH_SESSION_STORE端口(原em.nativeDelete直捅 auth 表的越界写收编;适配器 fork() ALS 感知·事务内自动同 em)。删除失败 → 状态写 一并回滚,不再留「已 suspend 但 session 仍活」窗口。