使用SqlMembershipProvider禁用帐户锁定

时间:2009-04-28 06:30:37

标签: asp.net asp.net-membership membership sqlmembershipprovider

如何禁用 SqlMembershipProvider 的帐户锁定功能?

MaxInvalidPasswordAttempts属性的MSDN文档未指定如何禁用它。如果我找不到正确的方法,我会将maxInvalidPasswordAttempts属性设置为int的最大值,这可以有效地实现相同的结果。

我很清楚禁用帐户锁定不是最好的主意,但我需要在短期内实现这一目标。

1 个答案:

答案 0 :(得分:40)

将maxInvalidPasswordAttempts属性设置为Int32.MaxValue,就像我在我的问题中所建议的那样,并且如下面的web.config片段所示。我已经使用Reflector来查看SqlMembershipProvider实现,但无法看到如何明确禁用帐户锁定功能,所以我将接受这个作为解决方案。

我没有测试完全设置PasswordAttemptWindow的建议但是它不能设置为0(必须是一个正整数,即至少一分钟)所以如果没有将maxInvalidPasswordAttempts属性设置得足够高以防止在一分钟内锁定。

<membership defaultProvider="SqlMembershipProvider">
  <providers>
    <add name="SqlMembershipProvider" type="..."
         maxInvalidPasswordAttempts="2147483647"
         />
  </providers>