Share via


SqlMembershipProvider.PasswordAttemptWindow 屬性

定義

取得時間範圍,在此時間範圍內會追蹤提供有效密碼或密碼解答的連續失敗嘗試。

public:
 virtual property int PasswordAttemptWindow { int get(); };
public override int PasswordAttemptWindow { get; }
member this.PasswordAttemptWindow : int
Public Overrides ReadOnly Property PasswordAttemptWindow As Integer

屬性值

Int32

時間範圍 (以分鐘為單位),在此時間範圍內會追蹤提供有效密碼或密碼解答的連續失敗嘗試。 預設值是 10 分鐘。 如果目前失敗嘗試與上一次失敗嘗試之間的時間間隔超過 PasswordAttemptWindow 屬性設定,則會將每次失敗嘗試都視為初次失敗嘗試。

範例

下列程式碼範例顯示 ASP.NET 應用程式Web.config檔案區段中的成員資格專案 system.web 。 它會指定應用程式使用 的實例, SqlMembershipProvider 並將 屬性設定 maxInvalidPasswordAttempts 為五個不正確嘗試,並將 passwordAttemptWindow 設定為 30 分鐘。

<membership defaultProvider="SqlProvider"   
  userIsOnlineTimeWindow="20">  
    <providers>  
      <add name="SqlProvider"  
        type="System.Web.Security.SqlMembershipProvider"  
        connectionStringName="SqlServices"  
        requiresQuestionAndAnswer="true"  
        maxInvalidPasswordAttempts="5"  
        passwordAttemptWindow="30"  
        applicationName="MyApplication" />  
    </providers>  
</membership>  

備註

屬性 PasswordAttemptWindow 會與 屬性搭配 MaxInvalidPasswordAttempts 運作,以透過重複嘗試協助防止不想要的來源猜測密碼或成員資格使用者的密碼答案。 當使用者嘗試登入、變更其密碼或重設其密碼時,在指定的時間範圍內只允許特定數目的連續嘗試。 時間範圍的長度是由 PasswordAttemptWindow 屬性所指定,可識別無效嘗試之間允許的分鐘數。 如果使用者嘗試重設其密碼的連續失敗次數等於屬性中所 MaxInvalidPasswordAttempts 儲存的值,且自上次無效嘗試以來經過的時間小於為 屬性指定的 PasswordAttemptWindow 分鐘數,則成員資格使用者會藉由將 屬性設定 IsLockedOuttrue 來鎖定。 您可以藉由呼叫 UnlockUser 方法來解除鎖定使用者。 如果目前失敗嘗試與最後一次失敗嘗試之間的間隔大於 PasswordAttemptWindow 屬性設定,則目前的無效嘗試會算為第一個嘗試。 如果在達到允許的無效嘗試數目上限之前提供有效的密碼答案,則不正確密碼回應嘗試計數會設定為零。 如果在達到允許的無效嘗試數目上限之前提供有效的密碼,則不正確密碼嘗試計數和無效密碼回應嘗試的計數會設定為零。

SqlMembershipProvider 分別保留無效密碼嘗試和無效密碼回應嘗試的計數。 不正確密碼嘗試只會遞增密碼嘗試計數器。 不正確密碼回應嘗試只會遞增密碼回應計數器。

PasswordAttemptWindow屬性值是在應用程式組態中使用 passwordAttemptWindow 成員資格組態區段的 屬性來設定。

RequiresQuestionAndAnswer如果 屬性設定為 false ,則不會追蹤不正確密碼回應嘗試。

適用於

另請參閱