25 lines
1.0 KiB
C#
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; }
|
|
}
|