Files
StoreWeb/StoreHub.Framework/Security/IOnlineUserStore.cs
T
2026-08-14 18:00:58 +08:00

35 lines
1.0 KiB
C#

namespace StoreHub.Framework.Security;
/// <summary>
/// 在线用户会话存储:基于 <see cref="Microsoft.Extensions.Caching.Memory.IMemoryCache"/> 的进程内实现,
/// 用于单点登录(同一用户仅保留最新会话)、在线人员管理与退出销毁。
/// </summary>
public interface IOnlineUserStore
{
/// <summary>
/// 用户登录/刷新会话:同用户的新登录会覆盖旧会话,旧令牌立即失效(单点登录)。
/// </summary>
void SignIn(OnlineUserInfo info);
/// <summary>
/// 判断指定用户、指定令牌会话是否仍然有效(未被退出、未被新登录顶替)。
/// </summary>
bool IsTokenActive(int userId, string jti);
/// <summary>
/// 退出登录:销毁该用户的在线会话,令牌立即失效。
/// </summary>
void SignOut(int userId);
/// <summary>
/// 获取当前在线人员列表。
/// </summary>
IReadOnlyList<OnlineUserInfo> GetOnlineUsers();
/// <summary>
/// 当前在线人数。
/// </summary>
int Count { get; }
}