0
我尝试在n次失败尝试后锁定用户,并且仅当用户有电子邮件ID并且我使用的用户名而不是电子邮件ID登录到我的应用程序。在这种情况下有没有办法我可以锁定用户没有电子邮件ID?用户锁定如果用户没有电子邮件ID,则不起作用MVC 5
我尝试在n次失败尝试后锁定用户,并且仅当用户有电子邮件ID并且我使用的用户名而不是电子邮件ID登录到我的应用程序。在这种情况下有没有办法我可以锁定用户没有电子邮件ID?用户锁定如果用户没有电子邮件ID,则不起作用MVC 5
您可以尝试在会话变量中保留一个失败计数器。您需要将会话状态添加到web.config以使用此代码。
在你的控制器
public int getFailedAttempts()
{
int? failedAttempts = Session["FailedAttempts"] as int?;
if (failedAttempts != null)
{
return (int)failedAttempts;
}
else {
return 0;
}
}
public void handleFailedAttempt()
{
var failedAttempts = getFailedAttempts();
Session["FailedAttempts"] = failedAttempts + 1;
}
在web.config中
<system.web>
...
<sessionState mode="InProc" timeout="30" />
</system.web>
然后他们开始一个新的隐身页面,然后再试一次。 – Silvermind
可以使失败对象具有尝试和IP,并使用数据库而不是会话存储我想。但是接下来他们会再次尝试使用VPN吗? –