Class AbacProvider
- java.lang.Object
- 
- io.helidon.security.spi.SynchronousProvider
- 
- io.helidon.security.providers.abac.AbacProvider
 
 
- 
- All Implemented Interfaces:
- AuthorizationProvider,- SecurityProvider
 
 public final class AbacProvider extends SynchronousProvider implements AuthorizationProvider 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 aAbacValidatorimplemented.- See Also:
- builder(),- create(Config)
 
- 
- 
Nested Class SummaryNested Classes Modifier and Type Class Description static classAbacProvider.BuilderA fluent API builder forAbacProvider.
 - 
Method SummaryAll Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static 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 AbacProvidercreate(Config config)Creates a new provider instance from configuration.Collection<Class<? extends Annotation>>supportedAnnotations()Provide extension annotations supported by this provider (e.g.protected AuthorizationResponsesyncAuthorize(ProviderRequest providerRequest)Synchronous authorization.- 
Methods inherited from class io.helidon.security.spi.SynchronousProviderauthenticate, authorize, outboundSecurity, syncAuthenticate, syncOutbound
 - 
Methods inherited from class java.lang.Objectclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 - 
Methods inherited from interface io.helidon.security.spi.AuthorizationProviderauthorize, isUserInRole
 - 
Methods inherited from interface io.helidon.security.spi.SecurityProvidersupportedAttributes, supportedConfigKeys, supportedCustomObjects
 
- 
 
- 
- 
- 
Method Detail- 
builderpublic static AbacProvider.Builder builder() Creates a fluent API builder to build new instances of this class.- Returns:
- a new builder instance
 
 - 
createpublic static AbacProvider create(Config config) Creates a new provider instance from configuration.- Parameters:
- config- configuration
- Returns:
- ABAC provider instantiated from config
 
 - 
createpublic static AbacProvider create() Creates a new provider instance with default configuration.- Returns:
- ABAC provider
 
 - 
supportedAnnotationspublic Collection<Class<? extends Annotation>> supportedAnnotations() Description copied from interface:SecurityProviderProvide extension annotations supported by this provider (e.g.javax.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 interface- SecurityProvider
- Returns:
- Collection of annotations this provider expects.
 
 - 
syncAuthorizeprotected AuthorizationResponse syncAuthorize(ProviderRequest providerRequest) Description copied from class:SynchronousProviderSynchronous authorization.- Overrides:
- syncAuthorizein class- SynchronousProvider
- Parameters:
- providerRequest- context with environment, subject(s) etc.
- Returns:
- authorization response
- See Also:
- AuthorizationProvider.authorize(ProviderRequest)
 
 
- 
 
-