解锁用户无法在Webmatrix WebSecurity.IsAccountLockedOut方法中工作

时间:2014-07-04 19:57:13

标签: webmatrix

我是网络矩阵和网络安全概念的新手。我使用IsAccountLockedOut(String, Int32, Int32)方法检查指定的成员资格帐户是否暂时被锁定,因为在指定的秒数内尝试的密码失败次数太多。这里的事情是解锁后(更新Db中的解锁日期时间)会员帐户我在一个错误密码后再次被锁定,但我的数据库配置为允许3次尝试。你能告诉我如何解决问题或提供解锁代码示例。

1 个答案:

答案 0 :(得分:0)

我不知道它是否对您有用,但WebMatrix Starter Site模板在Account / Login.cshtml页面中实现了一个使用WebSecurity.GetPasswordFailuresSinceLastSuccess()方法的帐户锁定系统:

if (WebSecurity.UserExists(email) && 
        WebSecurity.GetPasswordFailuresSinceLastSuccess(email) > 4 &&
        WebSecurity.GetLastPasswordFailureDate(email).AddSeconds(60) > DateTime.UtcNow) 
{
    Response.Redirect("~/Account/AccountLockedOut");
    return;
}

<强>被修改

此片段考虑了webpages_Membership表的LastPasswordFailureDate和PasswordFailuresSinceLastSuccess字段,并且如果失败次数超过给定值(示例中为4)达到指定的秒数(示例中为60),则会锁定帐户。 / p>

无需管理&#34; UnlockDateTime&#34;在另一张桌子里。