【发布时间】:2020-09-06 21:52:23
【问题描述】:
我想在 Asp.Net Mvc(Core 或 NetFramework)中的我的 ApplicationUser(继承自 IdentityUser)中保存用户的锁定状态,那么从设计角度来看,哪个实现更好?
1. 分别具有 IsActive 属性和 LockoutReason 枚举属性的用户
class ApplicationUser: IdentityUser
{
// ...
public bool IsAcitve {get; set;}
public UserLockoutReason LockoutReason {get; set; }
}
enum UserLockoutReason
{
NotLocked,
LockedByAdmin,
MaximumWrongPasswordAttemptsReached,
...
}
2. 具有 ActiveStatus 枚举的用户
class ApplicationUser: IdentityUser
{
// ...
public UserActiveStatus ActiveStatus {get; set; }
}
enum UserActiveStatus
{
Active,
LockedByAdmin,
MaximumWrongPasswordAttemptsReached,
...
}
p.s:这个设计将成为我们 IdentityProvider 的 UserManagement 的一部分,所以对我们来说实现最好的方式非常重要
【问题讨论】:
标签: c# asp.net-mvc asp.net-core-mvc asp.net-identity