如何禁用sqlMembershipProvider的帐户锁定功能?
MSDN文档的MaxInvalidPasswordAttempts属性没有指定如何禁用它。如果我找不到正确的方式做到这一点,我将设置maxInvalidPasswordAttempts属性为int的最大值,可以有效地实现相同的结果。
我很清楚,禁用帐户锁定不是最好的想法,但我需要在短期内实现这一点。
解决方法
将maxInvalidPasswordAttempts属性设置为Int32.MaxValue如我在问题中所建议的那样工作,如下面的web.config片段所示。我使用
Reflector来看看sqlMembershipProvider实现,不能看到如何明确禁用帐户锁定功能,所以我将接受这个解决方案。
我没有测试的建议完全设置PasswordAttemptWindow,但它不能设置为0(必须是一个正整数,即至少一分钟),所以这将不工作,没有也设置maxInvalidPasswordAttempts属性足够高,以防止锁定内一分钟。
<membership defaultProvider="sqlMembershipProvider"> <providers> <add name="sqlMembershipProvider" type="..." maxInvalidPasswordAttempts="2147483647" /> </providers>