使用SqlMembershipProvider禁用帐户锁定

Mar*_*rth 28 membership asp.net asp.net-membership sqlmembershipprovider

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

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

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

Mar*_*rth 40

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

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

<membership defaultProvider="SqlMembershipProvider">
  <providers>
    <add name="SqlMembershipProvider" type="..."
         maxInvalidPasswordAttempts="2147483647"
         />
  </providers>
Run Code Online (Sandbox Code Playgroud)