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, SecurityCheck securityCheck) voidcreate(io.quarkus.runtime.RuntimeValue<SecurityCheckStorageBuilder> builder) createComputedPermission(String permissionName, String clazz, String[] actions, boolean passActionsToConstructor, int[] formalParamIndexes) 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.createSecurityConstrainer(Supplier<Map<String, Object>> additionalEventPropsSupplier) io.quarkus.runtime.RuntimeValue<Permission>createStringPermission(String name, String[] actions) denyAll()static SecurityCheckStorageio.quarkus.runtime.RuntimeValue<SecurityCheckStorageBuilder>permissionsAllowed(Function<Object[], Permission> computedPermission, io.quarkus.runtime.RuntimeValue<Permission> permissionRuntimeValue) CreatesSecurityCheckfor a single permission.permissionsAllowed(List<Function<Object[], Permission>> computedPermissions, List<io.quarkus.runtime.RuntimeValue<Permission>> permissionsRuntimeValue) CreatesSecurityCheckfor a permission set.permissionsAllowedGroups(List<List<Function<Object[], Permission>>> computedPermissionGroups, List<List<io.quarkus.runtime.RuntimeValue<Permission>>> permissionGroupsRuntimeValue) CreatesSecurityCheckfor a permission groups.voidrecordRolesAllowedConfigExpression(String configExpression, int configKeyIndex, BiConsumer<String, Supplier<String[]>> configValueRecorder) voidregisterDefaultSecurityCheck(io.quarkus.runtime.RuntimeValue<SecurityCheckStorageBuilder> builder, SecurityCheck securityCheck) voidrolesAllowed(String... roles) rolesAllowedSupplier(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
-
getStorage
-
denyAll
-
permitAll
-
rolesAllowed
-
rolesAllowedSupplier
public SecurityCheck rolesAllowedSupplier(String[] allowedRoles, int[] configExpIndexes, int[] configKeys) -
recordRolesAllowedConfigExpression
public void recordRolesAllowedConfigExpression(String configExpression, int configKeyIndex, BiConsumer<String, Supplier<String[]>> configValueRecorder) -
authenticated
-
permissionsAllowed
public SecurityCheck permissionsAllowed(Function<Object[], Permission> computedPermission, io.quarkus.runtime.RuntimeValue<Permission> permissionRuntimeValue) CreatesSecurityCheckfor a single permission.- Returns:
- SecurityCheck
-
permissionsAllowed
public 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 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) 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 constructor- Returns:
- computed permission
-
newBuilder
-
addMethod
public void addMethod(io.quarkus.runtime.RuntimeValue<SecurityCheckStorageBuilder> builder, String className, String methodName, String[] parameterTypes, SecurityCheck securityCheck) -
create
-
resolveRolesAllowedConfigExpRoles
public void resolveRolesAllowedConfigExpRoles() -
registerDefaultSecurityCheck
public void registerDefaultSecurityCheck(io.quarkus.runtime.RuntimeValue<SecurityCheckStorageBuilder> builder, SecurityCheck securityCheck) -
createSecurityConstrainer
-
setRuntimeConfigReady
public void setRuntimeConfigReady() -
unsetRuntimeConfigReady
public void unsetRuntimeConfigReady(io.quarkus.runtime.ShutdownContext shutdownContext)
-