namespace OrpaonVision.Model.Security; /// /// 用户模型。 /// public sealed class UserModel { /// /// 用户ID。 /// public Guid Id { get; set; } /// /// 用户名。 /// public string Username { get; set; } = string.Empty; /// /// 显示名称。 /// public string DisplayName { get; set; } = string.Empty; /// /// 邮箱。 /// public string Email { get; set; } = string.Empty; /// /// 手机号。 /// public string? PhoneNumber { get; set; } /// /// 密码哈希。 /// public string PasswordHash { get; set; } = string.Empty; /// /// 密码盐。 /// public string PasswordSalt { get; set; } = string.Empty; /// /// 用户状态。 /// public UserStatus Status { get; set; } /// /// 最后登录时间(UTC)。 /// public DateTime? LastLoginAtUtc { get; set; } /// /// 最后登录IP。 /// public string? LastLoginIp { get; set; } /// /// 登录失败次数。 /// public int LoginFailedCount { get; set; } /// /// 账户锁定时间(UTC)。 /// public DateTime? LockedUntilUtc { get; set; } /// /// 是否首次登录。 /// public bool IsFirstLogin { get; set; } /// /// 创建时间(UTC)。 /// public DateTime CreatedAtUtc { get; set; } /// /// 更新时间(UTC)。 /// public DateTime UpdatedAtUtc { get; set; } /// /// 创建人。 /// public string CreatedBy { get; set; } = string.Empty; /// /// 更新人。 /// public string UpdatedBy { get; set; } = string.Empty; /// /// 备注。 /// public string? Remark { get; set; } } /// /// 用户状态枚举。 /// public enum UserStatus { /// /// 启用。 /// Enabled = 0, /// /// 禁用。 /// Disabled = 1, /// /// 已锁定。 /// Locked = 2, /// /// 已删除。 /// Deleted = 3 } /// /// 角色模型。 /// public sealed class RoleModel { /// /// 角色ID。 /// public Guid Id { get; set; } /// /// 角色名称。 /// public string Name { get; set; } = string.Empty; /// /// 角色显示名称。 /// public string DisplayName { get; set; } = string.Empty; /// /// 角色描述。 /// public string? Description { get; set; } /// /// 角色状态。 /// public RoleStatus Status { get; set; } /// /// 是否系统角色。 /// public bool IsSystemRole { get; set; } /// /// 排序序号。 /// public int SortOrder { get; set; } /// /// 创建时间(UTC)。 /// public DateTime CreatedAtUtc { get; set; } /// /// 更新时间(UTC)。 /// public DateTime UpdatedAtUtc { get; set; } /// /// 创建人。 /// public string CreatedBy { get; set; } = string.Empty; /// /// 更新人。 /// public string UpdatedBy { get; set; } = string.Empty; /// /// 备注。 /// public string? Remark { get; set; } } /// /// 角色状态枚举。 /// public enum RoleStatus { /// /// 启用。 /// Enabled = 0, /// /// 禁用。 /// Disabled = 1 } /// /// 用户角色关联模型。 /// public sealed class UserRoleModel { /// /// 关联ID。 /// public Guid Id { get; set; } /// /// 用户ID。 /// public Guid UserId { get; set; } /// /// 角色ID。 /// public Guid RoleId { get; set; } /// /// 授权时间(UTC)。 /// public DateTime GrantedAtUtc { get; set; } /// /// 授权人。 /// public string GrantedBy { get; set; } = string.Empty; /// /// 过期时间(UTC)。 /// public DateTime? ExpiresAtUtc { get; set; } /// /// 是否启用。 /// public bool IsEnabled { get; set; } /// /// 创建时间(UTC)。 /// public DateTime CreatedAtUtc { get; set; } /// /// 创建人。 /// public string CreatedBy { get; set; } = string.Empty; }