Class ViewSecurityRule

java.lang.Object
br.com.vantroba.bi.transporte.seguranca.ViewSecurityRule
All Implemented Interfaces:
io.micronaut.core.order.Ordered, io.micronaut.security.rules.SecurityRule<io.micronaut.http.HttpRequest<?>>

@Singleton public class ViewSecurityRule extends Object implements io.micronaut.security.rules.SecurityRule<io.micronaut.http.HttpRequest<?>>
Regra de segurança das views, replicando o tri-estado do antigo AuthFilter:
  • enabled (envs de auth completas): path de view exige Authentication — autenticado → ALLOWED, anônimo → REJECTED (o ViewRejectionHandler faz 302/401);
  • bypass (dev/test sem envs): view liberada (ALLOWED) — views públicas;
  • fail-closed (prod sem envs): view rejeitada (REJECTED) — o handler responde 503.

Para paths whitelisted (ViewWhitelist.isWhitelisted(String)) devolve UNKNOWN, deixando o @Secured/intercept-url-map decidir (/api Bearer, /login anônimo, /health///swagger///public públicos).

  • Field Summary

    Fields inherited from interface io.micronaut.core.order.Ordered

    HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE

    Fields inherited from interface io.micronaut.security.rules.SecurityRule

    DENY_ALL, IS_ANONYMOUS, IS_AUTHENTICATED
  • Constructor Summary

    Constructors
    Constructor
    Description
    ViewSecurityRule(br.com.xadm.comum.seguranca.AuthSettings settings, io.micronaut.context.env.Environment environment)
    Cria a regra calculando os modos a partir da config.
  • Method Summary

    Modifier and Type
    Method
    Description
    org.reactivestreams.Publisher<io.micronaut.security.rules.SecurityRuleResult>
    check(io.micronaut.http.HttpRequest<?> request, @Nullable io.micronaut.security.authentication.Authentication authentication)
     

    Methods inherited from class Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface io.micronaut.core.order.Ordered

    getOrder
  • Constructor Details

    • ViewSecurityRule

      public ViewSecurityRule(br.com.xadm.comum.seguranca.AuthSettings settings, io.micronaut.context.env.Environment environment)
      Cria a regra calculando os modos a partir da config.
      Parameters:
      settings - configurações de auth.
      environment - ambiente Micronaut (bypass só vale em dev/test).
  • 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:
      check in interface io.micronaut.security.rules.SecurityRule<io.micronaut.http.HttpRequest<?>>