回答

39

将maxInvalidPasswordAttempts属性设置为Int32.MaxValue的工作方式与我在我的问题中所建议的一样,如下面的web.config片段所示。我使用Reflector来查看SqlMembershipProvider实现,并且无法看到如何显式禁用帐户锁定功能,因此我将接受此解决方案。

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

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