Files
StoreWeb/Core/MAX.Framework/Security/OnlineUserInfo.cs
T
2026-10-23 19:28:17 +08:00

25 lines
1.0 KiB
C#

using FreeSql.DataAnnotations;
namespace MAX.Framework.Security;
/// <summary>持久化登录会话;每次登录拥有独立 jti,不保存完整 JWT。</summary>
[Table(Name = "wxxd.auth_login_session")]
public class OnlineUserInfo
{
[Column(IsPrimary = true, StringLength = 32)]
public string Jti { get; set; } = string.Empty;
[Column(StringLength = 255)]
public string UserName { get; set; } = string.Empty;
[Column(StringLength = 255)]
public string NickName { get; set; } = string.Empty;
/// <summary>服务端观察到的客户端 IP;反向代理需配置受信任的转发头。</summary>
[Column(StringLength = 45)]
public string LoginIp { get; set; } = string.Empty;
/// <summary>UTC 登录时间。</summary>
public DateTime LoginTime { get; set; }
/// <summary>UTC 到期时间,与 JWT exp 对齐。</summary>
public DateTime ExpiresAt { get; set; }
/// <summary>UTC 撤销时间;保留记录供后续面板查询。</summary>
public DateTime? RevokedAt { get; set; }
}