Interface LoginAttemptTracker
- All Known Implementing Classes:
DefaultLoginAttemptTracker
public interface LoginAttemptTracker
登入嘗試追蹤器
追蹤使用者登入失敗次數與鎖定狀態,提供完整的登入鎖定機制管理功能。
使用時機:
- 登入前:呼叫
isLocked(String)檢查帳號是否已鎖定 - 登入失敗:呼叫
recordFailure(String)記錄失敗並可能觸發鎖定 - 登入成功:呼叫
clearAttempts(String)清除失敗記錄
執行緒安全性:實作類別必須確保執行緒安全。
-
Method Summary
Modifier and TypeMethodDescriptionvoidclearAttempts(String principal) 清除失敗記錄intgetFailureCount(String principal) 取得當前失敗次數getRemainingLockoutTime(String principal) 取得剩餘鎖定時間boolean檢查帳號是否已鎖定intrecordFailure(String principal) 記錄登入失敗
-
Method Details
-
recordFailure
記錄登入失敗
每次呼叫會累加失敗次數,當達到閾值時自動觸發鎖定機制。
- Parameters:
principal- 使用者帳號- Returns:
- 當前失敗次數
-
isLocked
檢查帳號是否已鎖定
判斷標準:鎖定到期時間存在且晚於當前時間。
- Parameters:
principal- 使用者帳號- Returns:
- true 表示已鎖定,false 表示未鎖定
-
getRemainingLockoutTime
-
clearAttempts
清除失敗記錄
通常在登入成功時呼叫,清除該使用者的所有失敗記錄與鎖定狀態。
- Parameters:
principal- 使用者帳號
-
getFailureCount
取得當前失敗次數- Parameters:
principal- 使用者帳號- Returns:
- 失敗次數,若無記錄則回傳 0
-