Membership.PasswordAttemptWindow 屬性
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
取得時間範圍,在此時間範圍內會追蹤提供有效密碼或密碼解答的連續失敗嘗試。
public:
static property int PasswordAttemptWindow { int get(); };
public static int PasswordAttemptWindow { get; }
static member PasswordAttemptWindow : int
Public Shared ReadOnly Property PasswordAttemptWindow As Integer
屬性值
時間範圍 (以分鐘為單位),在此時間範圍內會追蹤提供有效密碼或密碼解答的連續失敗嘗試。 預設值是 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 分鐘數,則成員資格使用者會被鎖定。藉由將 屬性設定 IsLockedOut 為 true
來鎖定使用者,直到呼叫 UnlockUser 方法的使用者解除鎖定為止。
如果目前失敗嘗試與最後一次失敗嘗試之間的間隔大於 PasswordAttemptWindow 屬性設定,則目前的無效嘗試會算為第一個嘗試。 如果在達到允許的無效嘗試數目上限之前提供有效的密碼答案,則無效的密碼響應嘗試計數會設定為0 (零) 。 如果在達到允許的無效嘗試數目上限之前提供有效的密碼,則無效的密碼嘗試計數和無效密碼回應嘗試的計數會設定為0 (零) 。
無效的密碼和密碼響應嘗試會彼此獨立累積。 例如,如果 MaxInvalidPasswordAttempts 設定為 5,然後進行三次無效的密碼嘗試,後面接著兩次無效的密碼回應嘗試, (或三個以上的無效密碼答案嘗試,) 必須在 內 PasswordAttemptWindow 進行,才能鎖定成員資格使用者。
PasswordAttemptWindow屬性值是在應用程式組態passwordAttemptWindow
中使用成員資格組態元素區段的 屬性來設定。
RequiresQuestionAndAnswer如果屬性設定為 false
,則不會追蹤無效的密碼響應嘗試。