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 Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description void
apply(io.quarkus.security.identity.SecurityIdentity identity, 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, MethodDescription methodDescription, Object[] parameters)
io.smallrye.mutiny.Uni<?>
nonBlockingApply(io.quarkus.security.identity.SecurityIdentity identity, Method method, Object[] parameters)
static SecurityCheck
of(Permission[][] permissions, Function<Object[],Permission[][]> computedPermissions)
Creates permission check with permission groups.static SecurityCheck
of(Permission[] permissions, Function<Object[],Permission[]> computedPermissions)
Creates permission check with permissions.static SecurityCheck
of(Permission permission, Function<Object[],Permission> computedPermission)
Creates permission check with a single permission.boolean
requiresMethodArguments()
-
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 Detail
-
apply
public void apply(io.quarkus.security.identity.SecurityIdentity identity, Method method, Object[] parameters)
- Specified by:
apply
in interfaceSecurityCheck
-
apply
public void apply(io.quarkus.security.identity.SecurityIdentity identity, MethodDescription methodDescription, Object[] parameters)
- Specified by:
apply
in interfaceSecurityCheck
-
nonBlockingApply
public io.smallrye.mutiny.Uni<?> nonBlockingApply(io.quarkus.security.identity.SecurityIdentity identity, Method method, Object[] parameters)
- Specified by:
nonBlockingApply
in interfaceSecurityCheck
-
nonBlockingApply
public io.smallrye.mutiny.Uni<?> nonBlockingApply(io.quarkus.security.identity.SecurityIdentity identity, MethodDescription methodDescription, Object[] parameters)
- Specified by:
nonBlockingApply
in interfaceSecurityCheck
-
requiresMethodArguments
public boolean requiresMethodArguments()
- Specified by:
requiresMethodArguments
in interfaceSecurityCheck
-
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. Eitherpermission
orcomputedPermission
must not be null.- Parameters:
permission
- PermissioncomputedPermission
- 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 ifSecurityIdentity
has at least one of permissions. Eitherpermission
orcomputedPermission
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 ifSecurityIdentity
has at least one of permissions of each permission group. Eitherpermission
orcomputedPermission
must not be null.- Parameters:
permissions
- array of permission groupscomputedPermissions
- the function that is invoked every single time permissions are checked with request or method parameters- Returns:
- created
SecurityCheck
-
-