Package io.quarkus.security.runtime
Class SecurityCheckRecorder
java.lang.Object
io.quarkus.security.runtime.SecurityCheckRecorder
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidaddMethod(io.quarkus.runtime.RuntimeValue<SecurityCheckStorageBuilder> builder, String className, String methodName, String[] parameterTypes, io.quarkus.security.spi.runtime.SecurityCheck securityCheck) io.quarkus.security.spi.runtime.SecurityCheckio.quarkus.security.spi.runtime.SecurityCheckStoragecreate(io.quarkus.runtime.RuntimeValue<SecurityCheckStorageBuilder> builder) createComputedPermission(String permissionName, String clazz, String[] actions, boolean passActionsToConstructor, int[] formalParamIndexes, String[] formalParamConverters, Map<String, io.quarkus.runtime.RuntimeValue<MethodHandle>> converterNameToMethodHandle) Creates function that transform arguments of a method annotated withPermissionsAllowedto customPermission.io.quarkus.runtime.RuntimeValue<Permission> createPermission(String name, String clazz, String[] actions, boolean passActionsToConstructor) Creates permission.Function<io.quarkus.arc.SyntheticCreationalContext<QuarkusPermissionSecurityIdentityAugmentor>, QuarkusPermissionSecurityIdentityAugmentor> io.quarkus.runtime.RuntimeValue<MethodHandle> createPermissionMethodConverter(String methodName, io.quarkus.runtime.RuntimeValue<Class<?>> clazz) createSecurityConstrainer(Supplier<Map<String, Object>> additionalEventPropsSupplier) io.quarkus.runtime.RuntimeValue<Permission> createStringPermission(String name, String[] actions) io.quarkus.security.spi.runtime.SecurityCheckdenyAll()io.quarkus.runtime.RuntimeValue<Class<?>> loadClassRuntimeVal(String className) io.quarkus.runtime.RuntimeValue<SecurityCheckStorageBuilder> io.quarkus.security.spi.runtime.SecurityCheckpermissionsAllowed(Function<Object[], Permission> computedPermission, io.quarkus.runtime.RuntimeValue<Permission> permissionRuntimeValue) CreatesSecurityCheckfor a single permission.io.quarkus.security.spi.runtime.SecurityCheckpermissionsAllowed(List<Function<Object[], Permission>> computedPermissions, List<io.quarkus.runtime.RuntimeValue<Permission>> permissionsRuntimeValue) CreatesSecurityCheckfor a permission set.io.quarkus.security.spi.runtime.SecurityCheckpermissionsAllowedGroups(List<List<Function<Object[], Permission>>> computedPermissionGroups, List<List<io.quarkus.runtime.RuntimeValue<Permission>>> permissionGroupsRuntimeValue) CreatesSecurityCheckfor a permission groups.io.quarkus.security.spi.runtime.SecurityCheckvoidrecordRolesAllowedConfigExpression(String configExpression, int configKeyIndex, BiConsumer<String, Supplier<String[]>> configValueRecorder) voidregisterDefaultSecurityCheck(io.quarkus.runtime.RuntimeValue<SecurityCheckStorageBuilder> builder, io.quarkus.security.spi.runtime.SecurityCheck securityCheck) voidio.quarkus.security.spi.runtime.SecurityCheckrolesAllowed(String... roles) io.quarkus.security.spi.runtime.SecurityCheckrolesAllowedSupplier(String[] allowedRoles, int[] configExpIndexes, int[] configKeys) voidtoComputedPermission(io.quarkus.runtime.RuntimeValue<Permission> permissionRuntimeVal) voidunsetRuntimeConfigReady(io.quarkus.runtime.ShutdownContext shutdownContext)
-
Constructor Details
-
SecurityCheckRecorder
public SecurityCheckRecorder()
-
-
Method Details
-
denyAll
public io.quarkus.security.spi.runtime.SecurityCheck denyAll() -
permitAll
public io.quarkus.security.spi.runtime.SecurityCheck permitAll() -
rolesAllowed
-
rolesAllowedSupplier
public io.quarkus.security.spi.runtime.SecurityCheck rolesAllowedSupplier(String[] allowedRoles, int[] configExpIndexes, int[] configKeys) -
recordRolesAllowedConfigExpression
public void recordRolesAllowedConfigExpression(String configExpression, int configKeyIndex, BiConsumer<String, Supplier<String[]>> configValueRecorder) -
authenticated
public io.quarkus.security.spi.runtime.SecurityCheck authenticated() -
permissionsAllowed
public io.quarkus.security.spi.runtime.SecurityCheck permissionsAllowed(Function<Object[], Permission> computedPermission, io.quarkus.runtime.RuntimeValue<Permission> permissionRuntimeValue) CreatesSecurityCheckfor a single permission.- Returns:
- SecurityCheck
-
permissionsAllowed
public io.quarkus.security.spi.runtime.SecurityCheck permissionsAllowed(List<Function<Object[], Permission>> computedPermissions, List<io.quarkus.runtime.RuntimeValue<Permission>> permissionsRuntimeValue) CreatesSecurityCheckfor a permission set. User must have at least one of security check permissions.- Returns:
- SecurityCheck
-
permissionsAllowedGroups
public io.quarkus.security.spi.runtime.SecurityCheck permissionsAllowedGroups(List<List<Function<Object[], Permission>>> computedPermissionGroups, List<List<io.quarkus.runtime.RuntimeValue<Permission>>> permissionGroupsRuntimeValue) CreatesSecurityCheckfor a permission groups. User must have at least one of security check permissions from each permission group.- Returns:
- SecurityCheck
-
toComputedPermission
public Function<Object[],Permission> toComputedPermission(io.quarkus.runtime.RuntimeValue<Permission> permissionRuntimeVal) -
createStringPermission
public io.quarkus.runtime.RuntimeValue<Permission> createStringPermission(String name, String[] actions) -
createPermission
public io.quarkus.runtime.RuntimeValue<Permission> createPermission(String name, String clazz, String[] actions, boolean passActionsToConstructor) Creates permission.- Parameters:
name- permission nameclazz- permission classactions- nullable actionspassActionsToConstructor- flag signals whether Permission constructor accepts (name) or (name, actions)- Returns:
io.quarkus.runtime.RuntimeValue<Permission>
-
createComputedPermission
public Function<Object[],Permission> createComputedPermission(String permissionName, String clazz, String[] actions, boolean passActionsToConstructor, int[] formalParamIndexes, String[] formalParamConverters, Map<String, io.quarkus.runtime.RuntimeValue<MethodHandle>> converterNameToMethodHandle) Creates function that transform arguments of a method annotated withPermissionsAllowedto customPermission.- Parameters:
permissionName- permission nameclazz- permission classactions- permission actionspassActionsToConstructor- flag signals whether Permission constructor accepts (name) or (name, actions)formalParamIndexes- indexes of secured method params that should be passed to permission constructorformalParamConverters- converts method parameter to constructor parameter; most of the time, this will be either identity function or a method calling method parameter getter- Returns:
- computed permission
-
newBuilder
-
addMethod
public void addMethod(io.quarkus.runtime.RuntimeValue<SecurityCheckStorageBuilder> builder, String className, String methodName, String[] parameterTypes, io.quarkus.security.spi.runtime.SecurityCheck securityCheck) -
create
public io.quarkus.security.spi.runtime.SecurityCheckStorage create(io.quarkus.runtime.RuntimeValue<SecurityCheckStorageBuilder> builder) -
resolveRolesAllowedConfigExpRoles
public void resolveRolesAllowedConfigExpRoles() -
registerDefaultSecurityCheck
public void registerDefaultSecurityCheck(io.quarkus.runtime.RuntimeValue<SecurityCheckStorageBuilder> builder, io.quarkus.security.spi.runtime.SecurityCheck securityCheck) -
createSecurityConstrainer
-
setRuntimeConfigReady
public void setRuntimeConfigReady() -
unsetRuntimeConfigReady
public void unsetRuntimeConfigReady(io.quarkus.runtime.ShutdownContext shutdownContext) -
createPermissionMethodConverter
public io.quarkus.runtime.RuntimeValue<MethodHandle> createPermissionMethodConverter(String methodName, io.quarkus.runtime.RuntimeValue<Class<?>> clazz) -
loadClassRuntimeVal
-
createPermissionAugmentor
public Function<io.quarkus.arc.SyntheticCreationalContext<QuarkusPermissionSecurityIdentityAugmentor>,QuarkusPermissionSecurityIdentityAugmentor> createPermissionAugmentor()
-