Class PermissionSecurityCheck<T>

java.lang.Object
io.quarkus.security.runtime.interceptor.check.PermissionSecurityCheck<T>
All Implemented Interfaces:
SecurityCheck

public abstract class PermissionSecurityCheck<T> extends Object implements SecurityCheck
  • Method Details

    • apply

      public void apply(io.quarkus.security.identity.SecurityIdentity identity, Method method, Object[] parameters)
      Specified by:
      apply in interface SecurityCheck
    • apply

      public void apply(io.quarkus.security.identity.SecurityIdentity identity, MethodDescription methodDescription, Object[] parameters)
      Specified by:
      apply in interface SecurityCheck
    • nonBlockingApply

      public io.smallrye.mutiny.Uni<?> nonBlockingApply(io.quarkus.security.identity.SecurityIdentity identity, Method method, Object[] parameters)
      Specified by:
      nonBlockingApply in interface SecurityCheck
    • nonBlockingApply

      public io.smallrye.mutiny.Uni<?> nonBlockingApply(io.quarkus.security.identity.SecurityIdentity identity, MethodDescription methodDescription, Object[] parameters)
      Specified by:
      nonBlockingApply in interface SecurityCheck
    • requiresMethodArguments

      public boolean requiresMethodArguments()
      Specified by:
      requiresMethodArguments in interface SecurityCheck
    • checkPermissions

      protected abstract io.smallrye.mutiny.Uni<?> checkPermissions(io.quarkus.security.identity.SecurityIdentity identity, T permissions, int i)
    • checkPermissions

      protected abstract void checkPermissions(io.quarkus.security.identity.SecurityIdentity identity, T permissions)
    • of

      public static SecurityCheck of(Permission permission, Function<Object[],Permission> computedPermission)
      Creates permission check with a single permission. Either permission or computedPermission must not be null.
      Parameters:
      permission - Permission
      computedPermission - the function that is invoked every single time permission is checked with request or method parameters
      Returns:
      created SecurityCheck
    • of

      public static SecurityCheck of(Permission[] permissions, Function<Object[],Permission[]> computedPermissions)
      Creates permission check with permissions. Permission check will be successful if SecurityIdentity has at least one of permissions. Either permission or computedPermission must not be null.
      Parameters:
      permissions - Permission[]
      computedPermissions - the function that is invoked every single time permissions are checked with request or method parameters
      Returns:
      created SecurityCheck
    • of

      public static SecurityCheck of(Permission[][] permissions, Function<Object[],Permission[][]> computedPermissions)
      Creates permission check with permission groups. Permission check will be successful if SecurityIdentity has at least one of permissions of each permission group. Either permission or computedPermission must not be null.
      Parameters:
      permissions - array of permission groups
      computedPermissions - the function that is invoked every single time permissions are checked with request or method parameters
      Returns:
      created SecurityCheck