如何禁用SqlMembershipProvider的帐户锁定功能?
MaxInvalidPasswordAttempts属性的 MSDN 文档未指定如何禁用它。如果找不到正确的方法,我会将 maxInvalidPasswordAttempts 属性设置为 int 的最大值,这可以有效地实现相同的结果。
我很清楚禁用帐户锁定不是最好的主意,但我需要在短期内实现这一目标。
如何禁用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>