Package io.quarkus.security.deployment
Class SecurityProcessor
java.lang.Object
io.quarkus.security.deployment.SecurityProcessor
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescription(package private) static class(package private) static final class(package private) static class -
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescription(package private) voidaddBouncyCastleExportsToNativeImage(io.quarkus.deployment.annotations.BuildProducer<io.quarkus.deployment.builditem.nativeimage.JPMSExportBuildItem> jpmsExports, List<BouncyCastleProviderBuildItem> bouncyCastleProviders, List<BouncyCastleJsseProviderBuildItem> bouncyCastleJsseProviders) (package private) voidaddBouncyCastleProvidersToNativeImage(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) AdditionalBeanBuildItemauthorizationController(io.quarkus.deployment.builditem.LaunchModeBuildItem launchMode) (package private) io.quarkus.deployment.builditem.NativeImageFeatureBuildItembouncyCastleFeature(List<BouncyCastleProviderBuildItem> bouncyCastleProviders, List<BouncyCastleJsseProviderBuildItem> bouncyCastleJsseProviders) static int[]configExpressionPositions(String[] allowedRoles) (package private) static MethodDescriptioncreateMethodDescription(org.jboss.jandex.MethodInfo additionalSecuredMethod) (package private) voidcreateSecurityCheckStorage(io.quarkus.deployment.annotations.BuildProducer<SyntheticBeanBuildItem> syntheticBeans, io.quarkus.deployment.annotations.BuildProducer<io.quarkus.deployment.builditem.ApplicationClassPredicateBuildItem> classPredicate, SecurityCheckRecorder recorder, SecurityProcessor.MethodSecurityChecks securityChecksItem, List<DefaultSecurityCheckBuildItem> defaultSecurityCheckBuildItem) (package private) io.quarkus.deployment.builditem.FeatureBuildItemfeature()(package private) voidgatherClassSecurityChecks(io.quarkus.deployment.annotations.BuildProducer<RegisterClassSecurityCheckBuildItem> producer, BeanArchiveIndexBuildItem indexBuildItem, List<ClassSecurityCheckAnnotationBuildItem> classAnnotationItems) (package private) SecurityProcessor.MethodSecurityChecksgatherSecurityChecks(io.quarkus.deployment.annotations.BuildProducer<ConfigExpRolesAllowedSecurityCheckBuildItem> configExpSecurityCheckProducer, List<RolesAllowedConfigExpResolverBuildItem> rolesAllowedConfigExpResolverBuildItems, BeanArchiveIndexBuildItem beanArchiveBuildItem, io.quarkus.deployment.annotations.BuildProducer<io.quarkus.deployment.builditem.ApplicationClassPredicateBuildItem> classPredicate, io.quarkus.deployment.annotations.BuildProducer<io.quarkus.deployment.builditem.RunTimeConfigBuilderBuildItem> configBuilderProducer, List<AdditionalSecuredMethodsBuildItem> additionalSecuredMethods, SecurityCheckRecorder recorder, io.quarkus.deployment.annotations.BuildProducer<ClassSecurityCheckStorageBuildItem> classSecurityCheckStorageProducer, List<RegisterClassSecurityCheckBuildItem> registerClassSecurityCheckBuildItems, io.quarkus.deployment.annotations.BuildProducer<io.quarkus.deployment.builditem.nativeimage.ReflectiveClassBuildItem> reflectiveClassBuildItemBuildProducer, List<AdditionalSecurityCheckBuildItem> additionalSecurityChecks, SecurityBuildTimeConfig config) (package private) static booleanisPublicNonStaticNonConstructor(org.jboss.jandex.MethodInfo methodInfo) (package private) voidprepareBouncyCastleProviders(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.RuntimeReinitializedClassBuildItem> runtimeReInitialized, List<BouncyCastleProviderBuildItem> bouncyCastleProviders, List<BouncyCastleJsseProviderBuildItem> bouncyCastleJsseProviders) (package private) voidproduceJcaSecurityProviders(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) voidrecordBouncyCastleProviders(SecurityProviderRecorder recorder, List<BouncyCastleProviderBuildItem> bouncyCastleProviders, List<BouncyCastleJsseProviderBuildItem> bouncyCastleJsseProviders) (package private) voidrecordRuntimeConfigReady(SecurityCheckRecorder recorder, io.quarkus.deployment.builditem.ShutdownContextBuildItem shutdownContextBuildItem, io.quarkus.deployment.builditem.LaunchModeBuildItem launchModeBuildItem) (package private) voidregisterAdditionalBeans(io.quarkus.deployment.annotations.BuildProducer<AdditionalBeanBuildItem> beans) (package private) voidregisterJCAProvidersForReflection(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) voidregisterSecurityInterceptors(io.quarkus.deployment.annotations.BuildProducer<InterceptorBindingRegistrarBuildItem> registrars, io.quarkus.deployment.annotations.BuildProducer<AdditionalBeanBuildItem> beans, io.quarkus.deployment.annotations.BuildProducer<SyntheticBeanBuildItem> syntheticBeanProducer, SecurityCheckRecorder recorder, Optional<AdditionalSecurityConstrainerEventPropsBuildItem> additionalSecurityConstrainerEventsItem) voidresolveConfigExpressionRoles(Optional<ConfigExpRolesAllowedSecurityCheckBuildItem> configExpRolesChecks, SecurityCheckRecorder recorder) (package private) voidtransformAdditionalSecuredClassesToMethods(List<AdditionalSecuredClassesBuildItem> additionalSecuredClassesBuildItems, io.quarkus.deployment.annotations.BuildProducer<AdditionalSecuredMethodsBuildItem> additionalSecuredMethodsBuildItemBuildProducer) Transform deprecatedAdditionalSecuredClassesBuildItemtoAdditionalSecuredMethodsBuildItem.(package private) voidtransformSecurityAnnotations(io.quarkus.deployment.annotations.BuildProducer<AnnotationsTransformerBuildItem> transformers, List<AdditionalSecuredMethodsBuildItem> additionalSecuredMethods, SecurityBuildTimeConfig config) (package private) voidvalidateStartUpObserversNotSecured(SynthesisFinishedBuildItem synthesisFinished, ValidationPhaseBuildItem validationPhase, BeanArchiveIndexBuildItem beanArchiveIndexBuildItem, io.quarkus.deployment.annotations.BuildProducer<ValidationPhaseBuildItem.ValidationErrorBuildItem> validationErrorProducer)
-
Field Details
-
security
SecurityConfig security
-
-
Constructor Details
-
SecurityProcessor
public SecurityProcessor()
-
-
Method Details
-
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 -
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 producerjcaProviders- - JCAProviderBuildItem for requested providers- Throws:
URISyntaxExceptionMalformedURLExceptionIOException
-
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.RuntimeReinitializedClassBuildItem> runtimeReInitialized, List<BouncyCastleProviderBuildItem> bouncyCastleProviders, List<BouncyCastleJsseProviderBuildItem> bouncyCastleJsseProviders) throws Exception - Throws:
Exception
-
recordBouncyCastleProviders
void recordBouncyCastleProviders(SecurityProviderRecorder recorder, List<BouncyCastleProviderBuildItem> bouncyCastleProviders, List<BouncyCastleJsseProviderBuildItem> bouncyCastleJsseProviders) -
bouncyCastleFeature
io.quarkus.deployment.builditem.NativeImageFeatureBuildItem bouncyCastleFeature(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(SecurityCheckRecorder recorder, io.quarkus.deployment.builditem.ShutdownContextBuildItem shutdownContextBuildItem, io.quarkus.deployment.builditem.LaunchModeBuildItem launchModeBuildItem) -
registerSecurityInterceptors
void registerSecurityInterceptors(io.quarkus.deployment.annotations.BuildProducer<InterceptorBindingRegistrarBuildItem> registrars, io.quarkus.deployment.annotations.BuildProducer<AdditionalBeanBuildItem> beans, io.quarkus.deployment.annotations.BuildProducer<SyntheticBeanBuildItem> syntheticBeanProducer, SecurityCheckRecorder recorder, Optional<AdditionalSecurityConstrainerEventPropsBuildItem> additionalSecurityConstrainerEventsItem) -
transformAdditionalSecuredClassesToMethods
void transformAdditionalSecuredClassesToMethods(List<AdditionalSecuredClassesBuildItem> additionalSecuredClassesBuildItems, io.quarkus.deployment.annotations.BuildProducer<AdditionalSecuredMethodsBuildItem> additionalSecuredMethodsBuildItemBuildProducer) Transform deprecatedAdditionalSecuredClassesBuildItemtoAdditionalSecuredMethodsBuildItem. -
transformSecurityAnnotations
void transformSecurityAnnotations(io.quarkus.deployment.annotations.BuildProducer<AnnotationsTransformerBuildItem> transformers, List<AdditionalSecuredMethodsBuildItem> additionalSecuredMethods, SecurityBuildTimeConfig config) -
gatherSecurityChecks
SecurityProcessor.MethodSecurityChecks gatherSecurityChecks(io.quarkus.deployment.annotations.BuildProducer<ConfigExpRolesAllowedSecurityCheckBuildItem> configExpSecurityCheckProducer, List<RolesAllowedConfigExpResolverBuildItem> rolesAllowedConfigExpResolverBuildItems, BeanArchiveIndexBuildItem beanArchiveBuildItem, io.quarkus.deployment.annotations.BuildProducer<io.quarkus.deployment.builditem.ApplicationClassPredicateBuildItem> classPredicate, io.quarkus.deployment.annotations.BuildProducer<io.quarkus.deployment.builditem.RunTimeConfigBuilderBuildItem> configBuilderProducer, List<AdditionalSecuredMethodsBuildItem> additionalSecuredMethods, SecurityCheckRecorder recorder, io.quarkus.deployment.annotations.BuildProducer<ClassSecurityCheckStorageBuildItem> classSecurityCheckStorageProducer, List<RegisterClassSecurityCheckBuildItem> registerClassSecurityCheckBuildItems, io.quarkus.deployment.annotations.BuildProducer<io.quarkus.deployment.builditem.nativeimage.ReflectiveClassBuildItem> reflectiveClassBuildItemBuildProducer, List<AdditionalSecurityCheckBuildItem> additionalSecurityChecks, SecurityBuildTimeConfig config) -
createSecurityCheckStorage
void createSecurityCheckStorage(io.quarkus.deployment.annotations.BuildProducer<SyntheticBeanBuildItem> syntheticBeans, io.quarkus.deployment.annotations.BuildProducer<io.quarkus.deployment.builditem.ApplicationClassPredicateBuildItem> classPredicate, SecurityCheckRecorder recorder, SecurityProcessor.MethodSecurityChecks securityChecksItem, List<DefaultSecurityCheckBuildItem> defaultSecurityCheckBuildItem) -
resolveConfigExpressionRoles
public void resolveConfigExpressionRoles(Optional<ConfigExpRolesAllowedSecurityCheckBuildItem> configExpRolesChecks, SecurityCheckRecorder recorder) -
configExpressionPositions
-
isPublicNonStaticNonConstructor
static boolean isPublicNonStaticNonConstructor(org.jboss.jandex.MethodInfo methodInfo) -
feature
io.quarkus.deployment.builditem.FeatureBuildItem feature() -
registerAdditionalBeans
void registerAdditionalBeans(io.quarkus.deployment.annotations.BuildProducer<AdditionalBeanBuildItem> beans) -
authorizationController
AdditionalBeanBuildItem authorizationController(io.quarkus.deployment.builditem.LaunchModeBuildItem launchMode) -
validateStartUpObserversNotSecured
void validateStartUpObserversNotSecured(SynthesisFinishedBuildItem synthesisFinished, ValidationPhaseBuildItem validationPhase, BeanArchiveIndexBuildItem beanArchiveIndexBuildItem, io.quarkus.deployment.annotations.BuildProducer<ValidationPhaseBuildItem.ValidationErrorBuildItem> validationErrorProducer) -
gatherClassSecurityChecks
void gatherClassSecurityChecks(io.quarkus.deployment.annotations.BuildProducer<RegisterClassSecurityCheckBuildItem> producer, BeanArchiveIndexBuildItem indexBuildItem, List<ClassSecurityCheckAnnotationBuildItem> classAnnotationItems) -
createMethodDescription
static MethodDescription createMethodDescription(org.jboss.jandex.MethodInfo additionalSecuredMethod)
-