Class SecurityProcessor

java.lang.Object
io.quarkus.security.deployment.SecurityProcessor

public class SecurityProcessor extends Object
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    (package private) static class 
     
    (package private) static final class 
     
    (package private) static class 
     
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    (package private) SecurityConfig
     
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    (package private) void
    addBouncyCastleExportsToNativeImage(io.quarkus.deployment.annotations.BuildProducer<io.quarkus.deployment.builditem.nativeimage.JPMSExportBuildItem> jpmsExports, List<BouncyCastleProviderBuildItem> bouncyCastleProviders, List<BouncyCastleJsseProviderBuildItem> bouncyCastleJsseProviders)
     
    (package private) void
    addBouncyCastleProvidersToNativeImage(io.quarkus.deployment.annotations.BuildProducer<io.quarkus.deployment.builditem.GeneratedNativeImageClassBuildItem> nativeImageClass, io.quarkus.deployment.annotations.BuildProducer<io.quarkus.deployment.builditem.nativeimage.NativeImageSecurityProviderBuildItem> additionalProviders, List<BouncyCastleProviderBuildItem> bouncyCastleProviders, List<BouncyCastleJsseProviderBuildItem> bouncyCastleJsseProviders)
     
    (package private) io.quarkus.arc.deployment.AdditionalBeanBuildItem
    authorizationController(io.quarkus.deployment.builditem.LaunchModeBuildItem launchMode)
     
    (package private) io.quarkus.deployment.builditem.NativeImageFeatureBuildItem
    bouncyCastleFeature(io.quarkus.deployment.pkg.NativeConfig nativeConfig, List<BouncyCastleProviderBuildItem> bouncyCastleProviders, List<BouncyCastleJsseProviderBuildItem> bouncyCastleJsseProviders)
     
    static int[]
     
    (package private) void
    configurePermissionCheckers(PermissionSecurityChecksBuilderBuildItem checkerBuilder, io.quarkus.deployment.annotations.BuildProducer<io.quarkus.arc.deployment.SyntheticBeanBuildItem> syntheticBeanProducer, io.quarkus.security.runtime.SecurityCheckRecorder recorder, io.quarkus.arc.deployment.BeanDiscoveryFinishedBuildItem beanDiscoveryFinishedBuildItem, io.quarkus.deployment.annotations.BuildProducer<io.quarkus.deployment.builditem.GeneratedClassBuildItem> generatedClassProducer)
     
    (package private) static io.quarkus.security.spi.runtime.MethodDescription
    createMethodDescription(org.jboss.jandex.MethodInfo additionalSecuredMethod)
     
    createPermissionSecurityChecksBuilder(io.quarkus.arc.deployment.BeanArchiveIndexBuildItem beanArchiveBuildItem, io.quarkus.security.spi.PermissionsAllowedMetaAnnotationBuildItem metaAnnotationItem, io.quarkus.security.spi.SecurityTransformerBuildItem securityTransformerBuildItem)
     
    (package private) void
    createSecurityCheckStorage(io.quarkus.deployment.annotations.BuildProducer<io.quarkus.arc.deployment.SyntheticBeanBuildItem> syntheticBeans, io.quarkus.deployment.annotations.BuildProducer<io.quarkus.deployment.builditem.ApplicationClassPredicateBuildItem> classPredicate, io.quarkus.security.runtime.SecurityCheckRecorder recorder, SecurityProcessor.MethodSecurityChecks securityChecksItem, List<io.quarkus.security.spi.DefaultSecurityCheckBuildItem> defaultSecurityCheckBuildItem)
     
    (package private) io.quarkus.security.spi.SecurityTransformerBuildItem
    createSecurityTransformerBuildItem(List<io.quarkus.security.spi.SecuredInterfaceAnnotationBuildItem> securedInterfacePredicates, List<io.quarkus.security.spi.AdditionalSecurityAnnotationBuildItem> additionalSecurityAnnotationBuildItems)
     
    (package private) io.quarkus.deployment.builditem.FeatureBuildItem
     
    (package private) void
    gatherClassSecurityChecks(io.quarkus.deployment.annotations.BuildProducer<io.quarkus.security.spi.RegisterClassSecurityCheckBuildItem> producer, io.quarkus.arc.deployment.BeanArchiveIndexBuildItem indexBuildItem, io.quarkus.security.spi.PermissionsAllowedMetaAnnotationBuildItem permsMetaAnnotationsItem, List<io.quarkus.security.spi.ClassSecurityAnnotationBuildItem> classAnnotationItems, io.quarkus.security.spi.SecurityTransformerBuildItem securityTransformerBuildItem)
     
    gatherSecurityChecks(io.quarkus.deployment.annotations.BuildProducer<ConfigExpRolesAllowedSecurityCheckBuildItem> configExpSecurityCheckProducer, List<io.quarkus.security.spi.RolesAllowedConfigExpResolverBuildItem> rolesAllowedConfigExpResolverBuildItems, io.quarkus.arc.deployment.BeanArchiveIndexBuildItem beanArchiveBuildItem, io.quarkus.deployment.annotations.BuildProducer<io.quarkus.deployment.builditem.RunTimeConfigBuilderBuildItem> configBuilderProducer, List<io.quarkus.security.spi.AdditionalSecuredMethodsBuildItem> additionalSecuredMethods, io.quarkus.security.runtime.SecurityCheckRecorder recorder, io.quarkus.deployment.annotations.BuildProducer<io.quarkus.security.spi.ClassSecurityCheckStorageBuildItem> classSecurityCheckStorageProducer, List<io.quarkus.security.spi.RegisterClassSecurityCheckBuildItem> registerClassSecurityCheckBuildItems, io.quarkus.deployment.annotations.BuildProducer<io.quarkus.deployment.builditem.nativeimage.ReflectiveClassBuildItem> reflectiveClassBuildItemBuildProducer, List<AdditionalSecurityCheckBuildItem> additionalSecurityChecks, PermissionSecurityChecksBuilderBuildItem permissionSecurityChecksBuilderBuildItem, io.quarkus.deployment.annotations.BuildProducer<io.quarkus.deployment.builditem.GeneratedClassBuildItem> generatedClassesProducer, io.quarkus.deployment.annotations.BuildProducer<io.quarkus.deployment.builditem.nativeimage.ReflectiveClassBuildItem> reflectiveClassesProducer, io.quarkus.security.spi.SecurityTransformerBuildItem securityTransformerBuildItem)
     
    (package private) static boolean
    isPublicNonStaticNonConstructor(org.jboss.jandex.MethodInfo methodInfo)
     
    (package private) io.quarkus.arc.deployment.UnremovableBeanBuildItem
     
    (package private) void
    makeSecurityAnnotationsInherited(io.quarkus.deployment.annotations.BuildProducer<io.quarkus.arc.deployment.AnnotationsTransformerBuildItem> transformer)
     
    (package private) void
    prepareBouncyCastleProviders(io.quarkus.deployment.pkg.builditem.CurateOutcomeBuildItem curateOutcomeBuildItem, io.quarkus.deployment.annotations.BuildProducer<io.quarkus.deployment.builditem.nativeimage.ReflectiveClassBuildItem> reflection, io.quarkus.deployment.annotations.BuildProducer<io.quarkus.deployment.builditem.nativeimage.RuntimeInitializedClassBuildItem> runtimeReInitialized, List<BouncyCastleProviderBuildItem> bouncyCastleProviders, List<BouncyCastleJsseProviderBuildItem> bouncyCastleJsseProviders)
     
    (package private) void
    produceJcaSecurityProviders(io.quarkus.deployment.annotations.BuildProducer<JCAProviderBuildItem> jcaProviders, io.quarkus.deployment.annotations.BuildProducer<BouncyCastleProviderBuildItem> bouncyCastleProvider, io.quarkus.deployment.annotations.BuildProducer<BouncyCastleJsseProviderBuildItem> bouncyCastleJsseProvider)
    Create JCAProviderBuildItems for any configured provider names
    (package private) void
    recordBouncyCastleProviders(io.quarkus.security.runtime.SecurityProviderRecorder recorder, List<BouncyCastleProviderBuildItem> bouncyCastleProviders, List<BouncyCastleJsseProviderBuildItem> bouncyCastleJsseProviders)
     
    (package private) void
    recordBouncyCastleProvidersRuntimeInit(io.quarkus.security.runtime.SecurityProviderRecorder recorder, List<BouncyCastleProviderBuildItem> bouncyCastleProviders, List<BouncyCastleJsseProviderBuildItem> bouncyCastleJsseProviders)
     
    (package private) void
    recordBouncyCastleProvidersStaticInit(io.quarkus.security.runtime.SecurityProviderRecorder recorder, List<BouncyCastleProviderBuildItem> bouncyCastleProviders, List<BouncyCastleJsseProviderBuildItem> bouncyCastleJsseProviders)
     
    (package private) void
    recordRuntimeConfigReady(io.quarkus.security.runtime.SecurityCheckRecorder recorder, io.quarkus.deployment.builditem.ShutdownContextBuildItem shutdownContextBuildItem, io.quarkus.deployment.builditem.LaunchModeBuildItem launchModeBuildItem)
     
    (package private) void
    registerAdditionalBeans(io.quarkus.deployment.annotations.BuildProducer<io.quarkus.arc.deployment.AdditionalBeanBuildItem> beans)
     
    (package private) List<io.quarkus.deployment.builditem.AdditionalIndexedClassesBuildItem>
    registerAdditionalIndexedClassesBuildItem(io.quarkus.security.spi.SecurityTransformerBuildItem securityTransformerBuildItem)
     
    (package private) void
    registerBouncyCastleReflection(io.quarkus.deployment.pkg.builditem.CurateOutcomeBuildItem curateOutcomeBuildItem, io.quarkus.deployment.annotations.BuildProducer<io.quarkus.deployment.builditem.nativeimage.ReflectiveClassBuildItem> reflection)
     
    (package private) io.quarkus.arc.deployment.AdditionalBeanBuildItem
    registerCurrentIdentityAssociationBean(Optional<io.quarkus.security.spi.CurrentIdentityAssociationClassBuildItem> currentIdentityAssociationClassBuildItem)
     
    (package private) void
    registerJCAProvidersForReflection(io.quarkus.deployment.annotations.BuildProducer<io.quarkus.deployment.builditem.nativeimage.ReflectiveClassBuildItem> classes, List<JCAProviderBuildItem> jcaProviders, io.quarkus.deployment.annotations.BuildProducer<io.quarkus.deployment.builditem.nativeimage.NativeImageSecurityProviderBuildItem> additionalProviders)
    Register the classes for reflection in the requested named providers
    (package private) void
    registerRunAsUserInterceptorBean(io.quarkus.deployment.annotations.BuildProducer<io.quarkus.arc.deployment.AnnotationsTransformerBuildItem> annotationsTransformerProducer, io.quarkus.deployment.annotations.BuildProducer<io.quarkus.arc.deployment.AdditionalBeanBuildItem> additionalBeanProducer)
     
    (package private) io.quarkus.arc.deployment.InterceptorBindingRegistrarBuildItem
     
    (package private) void
    registerSecurityInterceptors(io.quarkus.deployment.annotations.BuildProducer<io.quarkus.arc.deployment.InterceptorBindingRegistrarBuildItem> registrars, io.quarkus.deployment.annotations.BuildProducer<io.quarkus.arc.deployment.AdditionalBeanBuildItem> beans, io.quarkus.deployment.annotations.BuildProducer<io.quarkus.arc.deployment.SyntheticBeanBuildItem> syntheticBeanProducer, io.quarkus.security.runtime.SecurityCheckRecorder recorder, Optional<io.quarkus.security.spi.AdditionalSecurityConstrainerEventPropsBuildItem> additionalSecurityConstrainerEventsItem)
     
    void
    resolveConfigExpressionRoles(Optional<ConfigExpRolesAllowedSecurityCheckBuildItem> configExpRolesChecks, io.quarkus.security.runtime.SecurityCheckRecorder recorder)
     
    (package private) void
    secureInterfaceImplementations(io.quarkus.security.spi.SecurityTransformerBuildItem securityTransformerBuildItem, io.quarkus.deployment.builditem.CombinedIndexBuildItem combinedIndexBuildItem, io.quarkus.deployment.annotations.BuildProducer<io.quarkus.arc.deployment.AnnotationsTransformerBuildItem> annotationsTransformerProducer)
     
    (package private) io.quarkus.deployment.execannotations.ExecutionModelAnnotationsAllowedBuildItem
     
    (package private) io.quarkus.security.spi.PermissionsAllowedMetaAnnotationBuildItem
    transformPermissionsAllowedMetaAnnotations(io.quarkus.arc.deployment.BeanArchiveIndexBuildItem beanArchiveBuildItem, io.quarkus.deployment.annotations.BuildProducer<io.quarkus.arc.deployment.AnnotationsTransformerBuildItem> transformers, List<io.quarkus.security.spi.ClassSecurityAnnotationBuildItem> classAnnotationItems, io.quarkus.security.spi.SecurityTransformerBuildItem securityTransformerBuildItem)
     
    (package private) void
    transformSecurityAnnotations(io.quarkus.deployment.annotations.BuildProducer<io.quarkus.arc.deployment.AnnotationsTransformerBuildItem> transformers, List<io.quarkus.security.spi.AdditionalSecuredMethodsBuildItem> additionalSecuredMethods, io.quarkus.security.spi.SecurityTransformerBuildItem securityTransformerBuildItem, io.quarkus.deployment.builditem.CombinedIndexBuildItem combinedIndexBuildItem)
     
    (package private) void
    validateRunAsUserUsage(List<io.quarkus.security.spi.RunAsUserPredicateBuildItem> runAsUserPredicates, io.quarkus.arc.deployment.BeanArchiveIndexBuildItem beanArchiveIndexBuildItem, io.quarkus.deployment.annotations.BuildProducer<io.quarkus.arc.deployment.ValidationPhaseBuildItem.ValidationErrorBuildItem> errors)
     
    (package private) void
    validateStartUpObserversNotSecured(io.quarkus.arc.deployment.SynthesisFinishedBuildItem synthesisFinished, io.quarkus.arc.deployment.ValidationPhaseBuildItem validationPhase, io.quarkus.arc.deployment.BeanArchiveIndexBuildItem beanArchiveIndexBuildItem, io.quarkus.deployment.annotations.BuildProducer<io.quarkus.arc.deployment.ValidationPhaseBuildItem.ValidationErrorBuildItem> validationErrorProducer, io.quarkus.security.spi.SecurityTransformerBuildItem securityTransformerBuildItem)
     

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

  • Constructor Details

    • SecurityProcessor

      public SecurityProcessor()
  • Method Details

    • createSecurityTransformerBuildItem

      io.quarkus.security.spi.SecurityTransformerBuildItem createSecurityTransformerBuildItem(List<io.quarkus.security.spi.SecuredInterfaceAnnotationBuildItem> securedInterfacePredicates, List<io.quarkus.security.spi.AdditionalSecurityAnnotationBuildItem> additionalSecurityAnnotationBuildItems)
    • registerAdditionalIndexedClassesBuildItem

      List<io.quarkus.deployment.builditem.AdditionalIndexedClassesBuildItem> registerAdditionalIndexedClassesBuildItem(io.quarkus.security.spi.SecurityTransformerBuildItem securityTransformerBuildItem)
    • secureInterfaceImplementations

      void secureInterfaceImplementations(io.quarkus.security.spi.SecurityTransformerBuildItem securityTransformerBuildItem, io.quarkus.deployment.builditem.CombinedIndexBuildItem combinedIndexBuildItem, io.quarkus.deployment.annotations.BuildProducer<io.quarkus.arc.deployment.AnnotationsTransformerBuildItem> annotationsTransformerProducer)
    • produceJcaSecurityProviders

      void produceJcaSecurityProviders(io.quarkus.deployment.annotations.BuildProducer<JCAProviderBuildItem> jcaProviders, io.quarkus.deployment.annotations.BuildProducer<BouncyCastleProviderBuildItem> bouncyCastleProvider, io.quarkus.deployment.annotations.BuildProducer<BouncyCastleJsseProviderBuildItem> bouncyCastleJsseProvider)
      Create JCAProviderBuildItems for any configured provider names
    • registerBouncyCastleReflection

      void registerBouncyCastleReflection(io.quarkus.deployment.pkg.builditem.CurateOutcomeBuildItem curateOutcomeBuildItem, io.quarkus.deployment.annotations.BuildProducer<io.quarkus.deployment.builditem.nativeimage.ReflectiveClassBuildItem> reflection)
    • registerJCAProvidersForReflection

      void registerJCAProvidersForReflection(io.quarkus.deployment.annotations.BuildProducer<io.quarkus.deployment.builditem.nativeimage.ReflectiveClassBuildItem> classes, List<JCAProviderBuildItem> jcaProviders, io.quarkus.deployment.annotations.BuildProducer<io.quarkus.deployment.builditem.nativeimage.NativeImageSecurityProviderBuildItem> additionalProviders) throws IOException, URISyntaxException
      Register the classes for reflection in the requested named providers
      Parameters:
      classes - - ReflectiveClassBuildItem producer
      jcaProviders - - JCAProviderBuildItem for requested providers
      Throws:
      URISyntaxException
      MalformedURLException
      IOException
    • prepareBouncyCastleProviders

      void prepareBouncyCastleProviders(io.quarkus.deployment.pkg.builditem.CurateOutcomeBuildItem curateOutcomeBuildItem, io.quarkus.deployment.annotations.BuildProducer<io.quarkus.deployment.builditem.nativeimage.ReflectiveClassBuildItem> reflection, io.quarkus.deployment.annotations.BuildProducer<io.quarkus.deployment.builditem.nativeimage.RuntimeInitializedClassBuildItem> runtimeReInitialized, List<BouncyCastleProviderBuildItem> bouncyCastleProviders, List<BouncyCastleJsseProviderBuildItem> bouncyCastleJsseProviders) throws Exception
      Throws:
      Exception
    • recordBouncyCastleProvidersStaticInit

      void recordBouncyCastleProvidersStaticInit(io.quarkus.security.runtime.SecurityProviderRecorder recorder, List<BouncyCastleProviderBuildItem> bouncyCastleProviders, List<BouncyCastleJsseProviderBuildItem> bouncyCastleJsseProviders)
    • recordBouncyCastleProvidersRuntimeInit

      void recordBouncyCastleProvidersRuntimeInit(io.quarkus.security.runtime.SecurityProviderRecorder recorder, List<BouncyCastleProviderBuildItem> bouncyCastleProviders, List<BouncyCastleJsseProviderBuildItem> bouncyCastleJsseProviders)
    • recordBouncyCastleProviders

      void recordBouncyCastleProviders(io.quarkus.security.runtime.SecurityProviderRecorder recorder, List<BouncyCastleProviderBuildItem> bouncyCastleProviders, List<BouncyCastleJsseProviderBuildItem> bouncyCastleJsseProviders)
    • bouncyCastleFeature

      io.quarkus.deployment.builditem.NativeImageFeatureBuildItem bouncyCastleFeature(io.quarkus.deployment.pkg.NativeConfig nativeConfig, List<BouncyCastleProviderBuildItem> bouncyCastleProviders, List<BouncyCastleJsseProviderBuildItem> bouncyCastleJsseProviders)
    • addBouncyCastleProvidersToNativeImage

      void addBouncyCastleProvidersToNativeImage(io.quarkus.deployment.annotations.BuildProducer<io.quarkus.deployment.builditem.GeneratedNativeImageClassBuildItem> nativeImageClass, io.quarkus.deployment.annotations.BuildProducer<io.quarkus.deployment.builditem.nativeimage.NativeImageSecurityProviderBuildItem> additionalProviders, List<BouncyCastleProviderBuildItem> bouncyCastleProviders, List<BouncyCastleJsseProviderBuildItem> bouncyCastleJsseProviders)
    • addBouncyCastleExportsToNativeImage

      void addBouncyCastleExportsToNativeImage(io.quarkus.deployment.annotations.BuildProducer<io.quarkus.deployment.builditem.nativeimage.JPMSExportBuildItem> jpmsExports, List<BouncyCastleProviderBuildItem> bouncyCastleProviders, List<BouncyCastleJsseProviderBuildItem> bouncyCastleJsseProviders)
    • recordRuntimeConfigReady

      void recordRuntimeConfigReady(io.quarkus.security.runtime.SecurityCheckRecorder recorder, io.quarkus.deployment.builditem.ShutdownContextBuildItem shutdownContextBuildItem, io.quarkus.deployment.builditem.LaunchModeBuildItem launchModeBuildItem)
    • registerSecurityInterceptors

      void registerSecurityInterceptors(io.quarkus.deployment.annotations.BuildProducer<io.quarkus.arc.deployment.InterceptorBindingRegistrarBuildItem> registrars, io.quarkus.deployment.annotations.BuildProducer<io.quarkus.arc.deployment.AdditionalBeanBuildItem> beans, io.quarkus.deployment.annotations.BuildProducer<io.quarkus.arc.deployment.SyntheticBeanBuildItem> syntheticBeanProducer, io.quarkus.security.runtime.SecurityCheckRecorder recorder, Optional<io.quarkus.security.spi.AdditionalSecurityConstrainerEventPropsBuildItem> additionalSecurityConstrainerEventsItem)
    • transformSecurityAnnotations

      void transformSecurityAnnotations(io.quarkus.deployment.annotations.BuildProducer<io.quarkus.arc.deployment.AnnotationsTransformerBuildItem> transformers, List<io.quarkus.security.spi.AdditionalSecuredMethodsBuildItem> additionalSecuredMethods, io.quarkus.security.spi.SecurityTransformerBuildItem securityTransformerBuildItem, io.quarkus.deployment.builditem.CombinedIndexBuildItem combinedIndexBuildItem)
    • makeSecurityAnnotationsInherited

      void makeSecurityAnnotationsInherited(io.quarkus.deployment.annotations.BuildProducer<io.quarkus.arc.deployment.AnnotationsTransformerBuildItem> transformer)
    • transformPermissionsAllowedMetaAnnotations

      io.quarkus.security.spi.PermissionsAllowedMetaAnnotationBuildItem transformPermissionsAllowedMetaAnnotations(io.quarkus.arc.deployment.BeanArchiveIndexBuildItem beanArchiveBuildItem, io.quarkus.deployment.annotations.BuildProducer<io.quarkus.arc.deployment.AnnotationsTransformerBuildItem> transformers, List<io.quarkus.security.spi.ClassSecurityAnnotationBuildItem> classAnnotationItems, io.quarkus.security.spi.SecurityTransformerBuildItem securityTransformerBuildItem)
    • createPermissionSecurityChecksBuilder

      PermissionSecurityChecksBuilderBuildItem createPermissionSecurityChecksBuilder(io.quarkus.arc.deployment.BeanArchiveIndexBuildItem beanArchiveBuildItem, io.quarkus.security.spi.PermissionsAllowedMetaAnnotationBuildItem metaAnnotationItem, io.quarkus.security.spi.SecurityTransformerBuildItem securityTransformerBuildItem)
    • makePermissionCheckerClassBeansUnremovable

      io.quarkus.arc.deployment.UnremovableBeanBuildItem makePermissionCheckerClassBeansUnremovable()
    • supportBlockingExecutionOfPermissionChecks

      io.quarkus.deployment.execannotations.ExecutionModelAnnotationsAllowedBuildItem supportBlockingExecutionOfPermissionChecks()
    • configurePermissionCheckers

      void configurePermissionCheckers(PermissionSecurityChecksBuilderBuildItem checkerBuilder, io.quarkus.deployment.annotations.BuildProducer<io.quarkus.arc.deployment.SyntheticBeanBuildItem> syntheticBeanProducer, io.quarkus.security.runtime.SecurityCheckRecorder recorder, io.quarkus.arc.deployment.BeanDiscoveryFinishedBuildItem beanDiscoveryFinishedBuildItem, io.quarkus.deployment.annotations.BuildProducer<io.quarkus.deployment.builditem.GeneratedClassBuildItem> generatedClassProducer)
    • gatherSecurityChecks

      SecurityProcessor.MethodSecurityChecks gatherSecurityChecks(io.quarkus.deployment.annotations.BuildProducer<ConfigExpRolesAllowedSecurityCheckBuildItem> configExpSecurityCheckProducer, List<io.quarkus.security.spi.RolesAllowedConfigExpResolverBuildItem> rolesAllowedConfigExpResolverBuildItems, io.quarkus.arc.deployment.BeanArchiveIndexBuildItem beanArchiveBuildItem, io.quarkus.deployment.annotations.BuildProducer<io.quarkus.deployment.builditem.RunTimeConfigBuilderBuildItem> configBuilderProducer, List<io.quarkus.security.spi.AdditionalSecuredMethodsBuildItem> additionalSecuredMethods, io.quarkus.security.runtime.SecurityCheckRecorder recorder, io.quarkus.deployment.annotations.BuildProducer<io.quarkus.security.spi.ClassSecurityCheckStorageBuildItem> classSecurityCheckStorageProducer, List<io.quarkus.security.spi.RegisterClassSecurityCheckBuildItem> registerClassSecurityCheckBuildItems, io.quarkus.deployment.annotations.BuildProducer<io.quarkus.deployment.builditem.nativeimage.ReflectiveClassBuildItem> reflectiveClassBuildItemBuildProducer, List<AdditionalSecurityCheckBuildItem> additionalSecurityChecks, PermissionSecurityChecksBuilderBuildItem permissionSecurityChecksBuilderBuildItem, io.quarkus.deployment.annotations.BuildProducer<io.quarkus.deployment.builditem.GeneratedClassBuildItem> generatedClassesProducer, io.quarkus.deployment.annotations.BuildProducer<io.quarkus.deployment.builditem.nativeimage.ReflectiveClassBuildItem> reflectiveClassesProducer, io.quarkus.security.spi.SecurityTransformerBuildItem securityTransformerBuildItem)
    • createSecurityCheckStorage

      void createSecurityCheckStorage(io.quarkus.deployment.annotations.BuildProducer<io.quarkus.arc.deployment.SyntheticBeanBuildItem> syntheticBeans, io.quarkus.deployment.annotations.BuildProducer<io.quarkus.deployment.builditem.ApplicationClassPredicateBuildItem> classPredicate, io.quarkus.security.runtime.SecurityCheckRecorder recorder, SecurityProcessor.MethodSecurityChecks securityChecksItem, List<io.quarkus.security.spi.DefaultSecurityCheckBuildItem> defaultSecurityCheckBuildItem)
    • resolveConfigExpressionRoles

      public void resolveConfigExpressionRoles(Optional<ConfigExpRolesAllowedSecurityCheckBuildItem> configExpRolesChecks, io.quarkus.security.runtime.SecurityCheckRecorder recorder)
    • configExpressionPositions

      public static int[] configExpressionPositions(String[] allowedRoles)
    • isPublicNonStaticNonConstructor

      static boolean isPublicNonStaticNonConstructor(org.jboss.jandex.MethodInfo methodInfo)
    • feature

      io.quarkus.deployment.builditem.FeatureBuildItem feature()
    • registerAdditionalBeans

      void registerAdditionalBeans(io.quarkus.deployment.annotations.BuildProducer<io.quarkus.arc.deployment.AdditionalBeanBuildItem> beans)
    • registerCurrentIdentityAssociationBean

      io.quarkus.arc.deployment.AdditionalBeanBuildItem registerCurrentIdentityAssociationBean(Optional<io.quarkus.security.spi.CurrentIdentityAssociationClassBuildItem> currentIdentityAssociationClassBuildItem)
    • authorizationController

      io.quarkus.arc.deployment.AdditionalBeanBuildItem authorizationController(io.quarkus.deployment.builditem.LaunchModeBuildItem launchMode)
    • validateStartUpObserversNotSecured

      void validateStartUpObserversNotSecured(io.quarkus.arc.deployment.SynthesisFinishedBuildItem synthesisFinished, io.quarkus.arc.deployment.ValidationPhaseBuildItem validationPhase, io.quarkus.arc.deployment.BeanArchiveIndexBuildItem beanArchiveIndexBuildItem, io.quarkus.deployment.annotations.BuildProducer<io.quarkus.arc.deployment.ValidationPhaseBuildItem.ValidationErrorBuildItem> validationErrorProducer, io.quarkus.security.spi.SecurityTransformerBuildItem securityTransformerBuildItem)
    • gatherClassSecurityChecks

      void gatherClassSecurityChecks(io.quarkus.deployment.annotations.BuildProducer<io.quarkus.security.spi.RegisterClassSecurityCheckBuildItem> producer, io.quarkus.arc.deployment.BeanArchiveIndexBuildItem indexBuildItem, io.quarkus.security.spi.PermissionsAllowedMetaAnnotationBuildItem permsMetaAnnotationsItem, List<io.quarkus.security.spi.ClassSecurityAnnotationBuildItem> classAnnotationItems, io.quarkus.security.spi.SecurityTransformerBuildItem securityTransformerBuildItem)
    • registerRunAsUserInterceptorBinding

      io.quarkus.arc.deployment.InterceptorBindingRegistrarBuildItem registerRunAsUserInterceptorBinding()
    • registerRunAsUserInterceptorBean

      void registerRunAsUserInterceptorBean(io.quarkus.deployment.annotations.BuildProducer<io.quarkus.arc.deployment.AnnotationsTransformerBuildItem> annotationsTransformerProducer, io.quarkus.deployment.annotations.BuildProducer<io.quarkus.arc.deployment.AdditionalBeanBuildItem> additionalBeanProducer)
    • validateRunAsUserUsage

      void validateRunAsUserUsage(List<io.quarkus.security.spi.RunAsUserPredicateBuildItem> runAsUserPredicates, io.quarkus.arc.deployment.BeanArchiveIndexBuildItem beanArchiveIndexBuildItem, io.quarkus.deployment.annotations.BuildProducer<io.quarkus.arc.deployment.ValidationPhaseBuildItem.ValidationErrorBuildItem> errors)
    • createMethodDescription

      static io.quarkus.security.spi.runtime.MethodDescription createMethodDescription(org.jboss.jandex.MethodInfo additionalSecuredMethod)