Package io.quarkus.security.runtime
Class SecurityCheckRecorder
- java.lang.Object
-
- io.quarkus.security.runtime.SecurityCheckRecorder
-
public class SecurityCheckRecorder extends Object
-
-
Constructor Summary
Constructors Constructor Description SecurityCheckRecorder()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddMethod(io.quarkus.runtime.RuntimeValue<SecurityCheckStorageBuilder> builder, String className, String methodName, String[] parameterTypes, SecurityCheck securityCheck)SecurityCheckauthenticated()voidcreate(io.quarkus.runtime.RuntimeValue<SecurityCheckStorageBuilder> builder)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.io.quarkus.runtime.RuntimeValue<Permission>createPermission(String name, String clazz, String[] actions, boolean passActionsToConstructor)Creates permission.io.quarkus.runtime.RuntimeValue<Permission>createStringPermission(String name, String[] actions)SecurityCheckdenyAll()static SecurityCheckStoragegetStorage()io.quarkus.runtime.RuntimeValue<SecurityCheckStorageBuilder>newBuilder()SecurityCheckpermissionsAllowed(Function<Object[],Permission> computedPermission, io.quarkus.runtime.RuntimeValue<Permission> permissionRuntimeValue)CreatesSecurityCheckfor a single permission.SecurityCheckpermissionsAllowed(List<Function<Object[],Permission>> computedPermissions, List<io.quarkus.runtime.RuntimeValue<Permission>> permissionsRuntimeValue)CreatesSecurityCheckfor a permission set.SecurityCheckpermissionsAllowedGroups(List<List<Function<Object[],Permission>>> computedPermissionGroups, List<List<io.quarkus.runtime.RuntimeValue<Permission>>> permissionGroupsRuntimeValue)CreatesSecurityCheckfor a permission groups.SecurityCheckpermitAll()voidresolveRolesAllowedConfigExpRoles()SecurityCheckrolesAllowed(String... roles)SecurityCheckrolesAllowedSupplier(String[] allowedRoles, int[] configExpIndexes, int[] configKeys)Function<Object[],Permission>toComputedPermission(io.quarkus.runtime.RuntimeValue<Permission> permissionRuntimeVal)
-
-
-
Method Detail
-
getStorage
public static SecurityCheckStorage getStorage()
-
denyAll
public SecurityCheck denyAll()
-
permitAll
public SecurityCheck permitAll()
-
rolesAllowed
public SecurityCheck rolesAllowed(String... roles)
-
rolesAllowedSupplier
public SecurityCheck rolesAllowedSupplier(String[] allowedRoles, int[] configExpIndexes, int[] configKeys)
-
authenticated
public SecurityCheck 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:
RuntimeValue
-
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
public io.quarkus.runtime.RuntimeValue<SecurityCheckStorageBuilder> newBuilder()
-
addMethod
public void addMethod(io.quarkus.runtime.RuntimeValue<SecurityCheckStorageBuilder> builder, String className, String methodName, String[] parameterTypes, SecurityCheck securityCheck)
-
create
public void create(io.quarkus.runtime.RuntimeValue<SecurityCheckStorageBuilder> builder)
-
resolveRolesAllowedConfigExpRoles
public void resolveRolesAllowedConfigExpRoles()
-
-