Interface AttemptStore
- All Known Implementing Classes:
CacheAttemptStore, InMemoryAttemptStore
public interface AttemptStore
登入失敗記錄儲存介面
定義儲存與查詢失敗次數、鎖定狀態的操作。 應用程式可實作不同的儲存機制(記憶體、Redis、資料庫等)。
執行緒安全性:實作類別必須確保執行緒安全。
-
Method Summary
Modifier and TypeMethodDescriptionvoid清除使用者的所有記錄(失敗次數與鎖定狀態)intgetFailureCount(String principal) 取得使用者的失敗次數getLockoutTime(String principal) 取得使用者的鎖定到期時間intincrementFailureCount(String principal) 遞增使用者的失敗次數voidsetLockoutTime(String principal, LocalDateTime unlockTime) 設定使用者的鎖定到期時間
-
Method Details
-
getFailureCount
取得使用者的失敗次數- Parameters:
principal- 使用者帳號- Returns:
- 失敗次數,若無記錄則回傳 0
-
incrementFailureCount
遞增使用者的失敗次數- Parameters:
principal- 使用者帳號- Returns:
- 遞增後的失敗次數
-
setLockoutTime
設定使用者的鎖定到期時間- Parameters:
principal- 使用者帳號unlockTime- 鎖定到期時間
-
getLockoutTime
取得使用者的鎖定到期時間- Parameters:
principal- 使用者帳號- Returns:
- 鎖定到期時間,若無記錄則回傳 empty
-
clear
-