Class MensageriaAdminRule
java.lang.Object
br.com.xadm.comum.mensageria.MensageriaAdminRule
- All Implemented Interfaces:
io.micronaut.core.order.Ordered, io.micronaut.security.rules.SecurityRule<io.micronaut.http.HttpRequest<?>>
@Singleton
public class MensageriaAdminRule
extends Object
implements io.micronaut.security.rules.SecurityRule<io.micronaut.http.HttpRequest<?>>
Gate da tela
/admin/mensageria: exige sessão autenticada E e-mail terminando no
domínio configurado (mensageria.admin.email-domain, default xadm.com.br).
O e-mail vem de authentication.getAttributes().get("email") — não de
getName(), que no SessionAuthenticationFetcher devolve o uid. E-mail
ausente/vazio conta como fora do domínio.
A rule só decide ALLOWED/REJECTED para o prefixo (UNKNOWN nas demais rotas). O shape
da rejeição (302 /login para browser · 401 para JSON · 403 para autenticado fora do
domínio) é contrato do app: Micronaut devolve 401 quando não há sessão e 403 quando há — e o
ViewRejectionHandler/micronaut.security.redirect do app faz o 302.
-
Field Summary
Fields inherited from interface io.micronaut.core.order.Ordered
HIGHEST_PRECEDENCE, LOWEST_PRECEDENCEFields inherited from interface io.micronaut.security.rules.SecurityRule
DENY_ALL, IS_ANONYMOUS, IS_AUTHENTICATED -
Constructor Summary
Constructors -
Method Summary
-
Constructor Details
-
MensageriaAdminRule
-
-
Method Details
-
check
public org.reactivestreams.Publisher<io.micronaut.security.rules.SecurityRuleResult> check(io.micronaut.http.HttpRequest<?> request, @Nullable @Nullable io.micronaut.security.authentication.Authentication authentication) - Specified by:
checkin interfaceio.micronaut.security.rules.SecurityRule<io.micronaut.http.HttpRequest<?>>
-
getOrder
public int getOrder()- Specified by:
getOrderin interfaceio.micronaut.core.order.Ordered
-