Asp.net
使用 SqlMembershipProvider 禁用帳戶鎖定
如何禁用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>