Package io.quarkus.security.deployment
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 classSecurityProcessor.AdditionalSecured(package private) classSecurityProcessor.SecurityCheckStorageAppPredicate
-
Field Summary
Fields Modifier and Type Field Description (package private) SecurityConfigsecurity
-
Constructor Summary
Constructors Constructor Description SecurityProcessor()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description (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) io.quarkus.deployment.builditem.FeatureBuildItemfeature()(package private) voidgatherSecurityChecks(io.quarkus.deployment.annotations.BuildProducer<SyntheticBeanBuildItem> syntheticBeans, 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<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) 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)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 Detail
-
security
SecurityConfig security
-
-
Method Detail
-
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, URISyntaxExceptionRegister 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)
-
registerSecurityInterceptors
void registerSecurityInterceptors(io.quarkus.deployment.annotations.BuildProducer<InterceptorBindingRegistrarBuildItem> registrars, io.quarkus.deployment.annotations.BuildProducer<AdditionalBeanBuildItem> beans)
-
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
void gatherSecurityChecks(io.quarkus.deployment.annotations.BuildProducer<SyntheticBeanBuildItem> syntheticBeans, 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<io.quarkus.deployment.builditem.nativeimage.ReflectiveClassBuildItem> reflectiveClassBuildItemBuildProducer, List<AdditionalSecurityCheckBuildItem> additionalSecurityChecks, SecurityBuildTimeConfig config)
-
resolveConfigExpressionRoles
public void resolveConfigExpressionRoles(Optional<ConfigExpRolesAllowedSecurityCheckBuildItem> configExpRolesChecks, 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<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)
-
createMethodDescription
static MethodDescription createMethodDescription(org.jboss.jandex.MethodInfo additionalSecuredMethod)
-
-