Class XadmLoginRateLimitFilter
java.lang.Object
br.com.xadm.comum.seguranca.XadmLoginRateLimitFilter
@Singleton
@ServerFilter("/login/**")
@Order(-2147483628)
public class XadmLoginRateLimitFilter
extends Object
Rate limit COMPARTILHADO do endpoint público de login (piso de segurança): no máximo
auth.login-rate-limit-per-minute (default 60) tentativas por IP por janela no
POST /login/**. Excedeu → 429 (RFC-7807). Só o POST (a tentativa de auth) é limitado; o GET
da página passa. Promovido de integrador-server para xadm-seguranca (spec 007, A2):
qualquer app que dependa da lib herda o piso (antes só 1 dos 5 apps tinha freio de brute-force).
Contador em memória por janela fixa, com teto de entradas. Fail-open: qualquer erro ao medir
→ deixa passar (rate limit nunca derruba o login legítimo). Atrás do Coolify/Traefik o IP real vem do
X-Forwarded-For. per-minute <= 0 desliga o filtro.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescription@Nullable io.micronaut.http.MutableHttpResponse<?> filter(io.micronaut.http.HttpRequest<?> request)
-
Constructor Details
-
XadmLoginRateLimitFilter
-
-
Method Details
-
filter
@RequestFilter @Nullable public @Nullable io.micronaut.http.MutableHttpResponse<?> filter(io.micronaut.http.HttpRequest<?> request)
-