liuyun b807cc7df8
Some checks are pending
CI / backend (push) Waiting to run
CI / frontend (push) Waiting to run
docs(spec): 归档 online-session-management + 同步 session 主 spec
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-10-11 21:38:24 +08:00

1.6 KiB
Raw Permalink Blame History

Session Specification

Purpose

定义在线会话域的行为:列出活跃会话、按单个会话强退、按用户踢全部会话。

Requirements

Requirement: 活跃会话列表

系统 SHALL 支持按用户名/昵称/IP 分页查询当前租户的活跃会话,返回用户名、昵称、设备 IP、User-Agent、登录时间、过期时间与会话标识;列表按数据权限过滤(仅可见本人权限范围内用户的会话,超管可见全部)。

Scenario: 分页查询活跃会话

  • WHEN 管理员请求会话列表并传 page/pageSize 与筛选条件
  • THEN 系统返回满足条件的活跃会话分页结果(仅含未过期、未吊销的 refresh token 对应会话)

Scenario: 数据权限过滤

  • WHEN 数据权限为「本部门」的管理员查询会话列表
  • THEN 仅返回本部门用户的活跃会话

Requirement: 单会话强退

系统 SHALL 支持指定会话标识强退单个会话:吊销该会话的 refresh token,并使其 access token 在下次请求时被拒绝(401)。

Scenario: 强退单个会话

  • WHEN 管理员对某会话标识执行强退
  • THEN 该会话的 refresh token 被吊销,其 access token 在下次请求时返回 401

Requirement: 踢全部会话

系统 SHALL 支持按用户踢出其全部活跃会话:吊销该用户所有 refresh token,并使其全部 access token 失效。

Scenario: 踢出用户全部会话

  • WHEN 管理员对某用户执行踢全部会话
  • THEN 该用户所有活跃会话的 refresh token 被吊销,全部 access token 失效