Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 让用户';ApplicationUser中的锁定状态是什么?_C#_Asp.net Mvc_Asp.net Core Mvc_Asp.net Identity - Fatal编程技术网

C# 让用户';ApplicationUser中的锁定状态是什么?

C# 让用户';ApplicationUser中的锁定状态是什么?,c#,asp.net-mvc,asp.net-core-mvc,asp.net-identity,C#,Asp.net Mvc,Asp.net Core Mvc,Asp.net Identity,我想在Asp.NETMVC(Core或NetFramework)中的ApplicationUser(继承自IdentityUser)中保存用户的锁定状态,那么从设计角度来看,哪种实现更好 1.分别具有IsActive属性和LockoutReason枚举属性的用户 2.具有ActiveStatus枚举的用户 p、 s:这一设计将成为我们的身份提供者的用户管理的一部分,因此对我们来说,实现我们所能实现的最佳方式非常重要 class ApplicationUser: IdentityUser {

我想在Asp.NETMVC(Core或NetFramework)中的ApplicationUser(继承自IdentityUser)中保存用户的锁定状态,那么从设计角度来看,哪种实现更好

1.分别具有IsActive属性和LockoutReason枚举属性的用户 2.具有ActiveStatus枚举的用户
p、 s:这一设计将成为我们的身份提供者的用户管理的一部分,因此对我们来说,实现我们所能实现的最佳方式非常重要

class ApplicationUser: IdentityUser
{
    // ...
    public UserActiveStatus ActiveStatus {get; set; }
}

enum UserActiveStatus
{
    Active,
    LockedByAdmin,
    MaximumWrongPasswordAttemptsReached,        
    ...
}


由于
ActiveStatus
是用户需要的最终信息,因此需要在if-else语句中添加
user.IsActive
分支,然后获取
LockoutReason
,以防账户被锁定,这是不必要的

确定的,但我如何保持用户的解锁状态,更新?I(AspNet Identity)在3次错误的密码尝试后锁定了用户(John Doe)。当他/她返回并再次登录3小时后,他/她就可以有效登录,我会将他的ActiveStatus更新为“Active”。但是当他在接下来的10小时内不会返回系统时,我如何在3小时后将他的ActiveStatus更新为“Active”?
class ApplicationUser: IdentityUser
{
    // ...
    public UserActiveStatus ActiveStatus {get; set; }
}

enum UserActiveStatus
{
    Active,
    LockedByAdmin,
    MaximumWrongPasswordAttemptsReached,        
    ...
}
class ApplicationUser: IdentityUser
{
    // ...
    public UserActiveStatus ActiveStatus {get; set; }
}

enum UserActiveStatus
{
    Active,
    LockedByAdmin,
    MaximumWrongPasswordAttemptsReached,        
    ...
}