Class AbuseLimitsPolicy
java.lang.Object
com.svenruppert.jsentinel.credential.abuse.AbuseLimitsPolicy
Per-dimension and per-attempt-type limits consumed by
InMemoryAbuseDetectionService.
The model is intentionally simple: each
(AbuseAttemptType, AbuseDimension) key carries a sliding
window of length window and three escalating
failure thresholds — delayAt, stepUpAt,
blockAt — that map onto
AbuseDecision.Delay, AbuseDecision.RequireAdditionalCheck
and AbuseDecision.Block respectively. Successful attempts
reset the per-username failure counter; volume counters
(CLIENT_ADDRESS / TENANT / GLOBAL) keep tracking regardless of
outcome.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final classstatic final recordSingle sliding-window limit definition. -
Method Summary
Modifier and TypeMethodDescriptionstatic AbuseLimitsPolicy.Builderbuilder()static AbuseLimitsPolicydefaults()Sensible default policy: 5/10/15 failures per username per 15 minutes for LOGIN; 30 / 60 / 120 per client address per hour (volume counter); no step-up by default.limit(AbuseAttemptType attemptType, AbuseDimension dimension)
-
Method Details
-
limit
public Optional<AbuseLimitsPolicy.Limit> limit(AbuseAttemptType attemptType, AbuseDimension dimension) -
builder
-
defaults
Sensible default policy: 5/10/15 failures per username per 15 minutes for LOGIN; 30 / 60 / 120 per client address per hour (volume counter); no step-up by default.
-