Class FixedLockoutPolicy

java.lang.Object
io.leandev.appfuse.security.lockout.core.FixedLockoutPolicy
All Implemented Interfaces:
LockoutPolicy

public class FixedLockoutPolicy extends Object implements LockoutPolicy

固定時間鎖定策略

無論失敗幾次,鎖定時間都固定。

範例

fixedDuration = 30 分鐘
- 第 5 次失敗 → 鎖定 30 分鐘
- 第 10 次失敗 → 仍鎖定 30 分鐘

適用場景:簡單明確的鎖定策略,易於向使用者說明。

  • Constructor Details

    • FixedLockoutPolicy

      public FixedLockoutPolicy(int threshold, Duration fixedDuration)
      建構固定時間鎖定策略
      Parameters:
      threshold - 觸發鎖定的失敗次數閾值(如 5)
      fixedDuration - 固定鎖定時間(如 Duration.ofMinutes(30))
  • Method Details

    • getThreshold

      public int getThreshold()
      Description copied from interface: LockoutPolicy
      取得觸發鎖定的失敗次數閾值
      Specified by:
      getThreshold in interface LockoutPolicy
      Returns:
      閾值(如 5 表示連續失敗 5 次時觸發鎖定)
    • calculateLockoutDuration

      public Duration calculateLockoutDuration(int failureCount)
      Description copied from interface: LockoutPolicy
      根據失敗次數計算鎖定時間
      Specified by:
      calculateLockoutDuration in interface LockoutPolicy
      Parameters:
      failureCount - 失敗次數
      Returns:
      鎖定時間