Class PermissionSecurityCheck<T>

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

public abstract class PermissionSecurityCheck<T> extends Object implements io.quarkus.security.spi.runtime.SecurityCheck
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    apply(io.quarkus.security.identity.SecurityIdentity identity, io.quarkus.security.spi.runtime.MethodDescription methodDescription, Object[] parameters)
     
    void
    apply(io.quarkus.security.identity.SecurityIdentity identity, Method method, Object[] parameters)
     
    protected abstract void
    checkPermissions(io.quarkus.security.identity.SecurityIdentity identity, T permissions)
     
    protected abstract io.smallrye.mutiny.Uni<?>
    checkPermissions(io.quarkus.security.identity.SecurityIdentity identity, T permissions, int i)
     
    io.smallrye.mutiny.Uni<?>
    nonBlockingApply(io.quarkus.security.identity.SecurityIdentity identity, io.quarkus.security.spi.runtime.MethodDescription methodDescription, Object[] parameters)
     
    io.smallrye.mutiny.Uni<?>
    nonBlockingApply(io.quarkus.security.identity.SecurityIdentity identity, Method method, Object[] parameters)
     
    static io.quarkus.security.spi.runtime.SecurityCheck
    of(Permission[][] permissions, Function<Object[],Permission[][]> computedPermissions)
    Creates permission check with permission groups.
    static io.quarkus.security.spi.runtime.SecurityCheck
    of(Permission[] permissions, Function<Object[],Permission[]> computedPermissions)
    Creates permission check with permissions.
    static io.quarkus.security.spi.runtime.SecurityCheck
    of(Permission permission, Function<Object[],Permission> computedPermission)
    Creates permission check with a single permission.
    boolean
     

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface io.quarkus.security.spi.runtime.SecurityCheck

    isPermitAll
  • Method Details

    • apply

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

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

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

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

      public boolean requiresMethodArguments()
      Specified by:
      requiresMethodArguments in interface io.quarkus.security.spi.runtime.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 io.quarkus.security.spi.runtime.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 io.quarkus.security.spi.runtime.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 io.quarkus.security.spi.runtime.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