使用maxInvalidPasswordAttempts锁定用户不起作用

时间:2011-12-28 01:52:14

标签: asp.net

我尝试在不使用数据库的三次尝试失败后对锁定用户进行研究,我找到了与SQLMemberShipProvider一起使用的答案。我修改了Web.config:

 <authentication mode="Forms">
  <forms loginUrl="~/Account/LogOnCust" timeout="2880" />
 </authentication>
<membership>
  <providers>
    <clear />
    <add name="AspNetSqlMembershipProvider" 
    type="System.Web.Security.SqlMembershipProvider"
    connectionStringName="WebDBConnection" 
    maxInvalidPasswordAttempts="3" 
    minRequiredPasswordLength="6" 
    passwordAttemptWindow="10" 
    applicationName="/" />
  </providers>
</membership>

但它不起作用,我不知道为什么。我还需要做些哪些修改?

2 个答案:

答案 0 :(得分:2)

尝试设置您的默认会员提供商,看看是否有帮助。

 <authentication mode="Forms">
  <forms loginUrl="~/Account/LogOnCust" timeout="2880" />
 </authentication>
<membership defaultProvider="AspNetSqlMembershipProvider">
  <providers>
    <clear />
    <add name="AspNetSqlMembershipProvider" 
    type="System.Web.Security.SqlMembershipProvider"
    connectionStringName="WebDBConnection" 
    maxInvalidPasswordAttempts="3" 
    minRequiredPasswordLength="6" 
    passwordAttemptWindow="10" 
    applicationName="/" />
  </providers>
</membership>

另外,检查以确保存储过程已正确安装,我知道我遇到了Oracle的这个问题,但在使用SQL Server时没有遇到太多问题。不要伤害检查。

答案 1 :(得分:0)

我遇到了同样的问题。我的原因是用户没有被批准。用户被批准后,而不是&#34; FailedPasswordAttemptCount&#34;每次失败尝试后递增。