Class SecurityCheckRecorder

java.lang.Object
io.quarkus.security.runtime.SecurityCheckRecorder

public class SecurityCheckRecorder extends Object
  • Constructor Details

    • SecurityCheckRecorder

      public SecurityCheckRecorder()
  • Method Details

    • 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)
    • recordRolesAllowedConfigExpression

      public void recordRolesAllowedConfigExpression(String configExpression, int configKeyIndex, BiConsumer<String,Supplier<String[]>> configValueRecorder)
    • authenticated

      public SecurityCheck authenticated()
    • permissionsAllowed

      public SecurityCheck permissionsAllowed(Function<Object[],Permission> computedPermission, io.quarkus.runtime.RuntimeValue<Permission> permissionRuntimeValue)
      Creates SecurityCheck for a single permission.
      Returns:
      SecurityCheck
    • permissionsAllowed

      public SecurityCheck permissionsAllowed(List<Function<Object[],Permission>> computedPermissions, List<io.quarkus.runtime.RuntimeValue<Permission>> permissionsRuntimeValue)
      Creates SecurityCheck for 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)
      Creates SecurityCheck for 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 name
      clazz - permission class
      actions - nullable actions
      passActionsToConstructor - 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 with PermissionsAllowed to custom Permission.
      Parameters:
      permissionName - permission name
      clazz - permission class
      actions - permission actions
      passActionsToConstructor - 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()
    • registerDefaultSecurityCheck

      public void registerDefaultSecurityCheck(io.quarkus.runtime.RuntimeValue<SecurityCheckStorageBuilder> builder, SecurityCheck securityCheck)
    • createSecurityConstrainer

      public Supplier<SecurityConstrainer> createSecurityConstrainer(Supplier<Map<String,Object>> additionalEventPropsSupplier)
    • setRuntimeConfigReady

      public void setRuntimeConfigReady()
    • unsetRuntimeConfigReady

      public void unsetRuntimeConfigReady(io.quarkus.runtime.ShutdownContext shutdownContext)