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