Class EagerSecurityInterceptorBindingBuildItem

java.lang.Object
io.quarkus.builder.item.BuildItem
io.quarkus.builder.item.MultiBuildItem
io.quarkus.vertx.http.deployment.EagerSecurityInterceptorBindingBuildItem

public final class EagerSecurityInterceptorBindingBuildItem extends io.quarkus.builder.item.MultiBuildItem
Provides a way for extensions to register eager security interceptor. For example, the Vert.x HTTP extension registers HttpAuthenticationMechanism and an interceptor that sets annotation value ('@HttpAuthenticationMechanism("basic") => 'basic') as routing context attribute. With disabled proactive authentication, these interceptors are guaranteed to run before any other security code of supported extensions (currently RESTEasy Classic and RESTEasy Reactive).
  • Constructor Details

    • EagerSecurityInterceptorBindingBuildItem

      public EagerSecurityInterceptorBindingBuildItem(Function<String,Consumer<io.vertx.ext.web.RoutingContext>> interceptorCreator, org.jboss.jandex.DotName... interceptorBindings)
      Parameters:
      interceptorBindings - annotation names, 'value' attribute of annotation instances will be passed to the creator
      interceptorCreator - accepts 'value' attribute of interceptorBinding instances and creates interceptor
    • EagerSecurityInterceptorBindingBuildItem

      EagerSecurityInterceptorBindingBuildItem(Function<String,Consumer<io.vertx.ext.web.RoutingContext>> interceptorCreator, Map<String,String> bindingToValue, org.jboss.jandex.DotName... interceptorBindings)
  • Method Details

    • getAnnotationBindings

      public org.jboss.jandex.DotName[] getAnnotationBindings()
    • getInterceptorCreator

      Function<String,Consumer<io.vertx.ext.web.RoutingContext>> getInterceptorCreator()
    • getBindingValue

      public String getBindingValue(org.jboss.jandex.AnnotationInstance annotationInstance, org.jboss.jandex.DotName annotation, org.jboss.jandex.MethodInfo classEndpoint)
    • requiresSecurityCheck

      boolean requiresSecurityCheck()