Class AbacProvider
java.lang.Object
io.helidon.security.spi.SynchronousProvider
io.helidon.security.providers.abac.AbacProvider
- All Implemented Interfaces:
AuthorizationProvider,SecurityProvider
Attribute based access control (ABAC) provider.
This provider gathers all attributes to be validated on endpoint and makes sure they are all validated as expected during
authorization process.
Each attribute to be validated must have a
AbacValidator implemented.- See Also:
-
Nested Class Summary
Nested Classes -
Method Summary
Modifier and TypeMethodDescriptionstatic AbacProvider.Builderbuilder()Creates a fluent API builder to build new instances of this class.static AbacProvidercreate()Creates a new provider instance with default configuration.static AbacProviderCreates a new provider instance from configuration.Collection<Class<? extends Annotation>>Provide extension annotations supported by this provider (e.g.protected AuthorizationResponsesyncAuthorize(ProviderRequest providerRequest) Synchronous authorization.Methods inherited from class io.helidon.security.spi.SynchronousProvider
authenticate, authorize, outboundSecurity, syncAuthenticate, syncOutboundMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface io.helidon.security.spi.AuthorizationProvider
authorize, isUserInRoleMethods inherited from interface io.helidon.security.spi.SecurityProvider
supportedAttributes, supportedConfigKeys, supportedCustomObjects
-
Method Details
-
builder
Creates a fluent API builder to build new instances of this class.- Returns:
- a new builder instance
-
create
Creates a new provider instance from configuration.- Parameters:
config- configuration- Returns:
- ABAC provider instantiated from config
-
create
Creates a new provider instance with default configuration.- Returns:
- ABAC provider
-
supportedAnnotations
Description copied from interface:SecurityProviderProvide extension annotations supported by this provider (e.g.jakarta.annotation.security.RolesAllowed). Annotations will be collected according to framework in use. For JAX-RS, annotations from application class, resource class and resource methods will be collected.- Specified by:
supportedAnnotationsin interfaceSecurityProvider- Returns:
- Collection of annotations this provider expects.
-
syncAuthorize
Description copied from class:SynchronousProviderSynchronous authorization.- Overrides:
syncAuthorizein classSynchronousProvider- Parameters:
providerRequest- context with environment, subject(s) etc.- Returns:
- authorization response
- See Also:
-