Class SpringAuthorizationEventPublisher
java.lang.Object
org.springframework.security.authorization.SpringAuthorizationEventPublisher
- All Implemented Interfaces:
AuthorizationEventPublisher
public final class SpringAuthorizationEventPublisher
extends Object
implements AuthorizationEventPublisher
An implementation of
AuthorizationEventPublisher
that uses Spring's event
publishing support.
Because AuthorizationGrantedEvent
s typically require additional business logic
to decide whether to publish, this implementation only publishes
AuthorizationDeniedEvent
s.- Since:
- 5.7
-
Constructor Summary
ConstructorDescriptionSpringAuthorizationEventPublisher
(org.springframework.context.ApplicationEventPublisher eventPublisher) Construct this publisher using Spring'sApplicationEventPublisher
-
Method Summary
Modifier and TypeMethodDescription<T> void
publishAuthorizationEvent
(Supplier<Authentication> authentication, T object, AuthorizationDecision decision) Publish the given details in the form of an event, typicallyAuthorizationGrantedEvent
orAuthorizationDeniedEvent
.<T> void
publishAuthorizationEvent
(Supplier<Authentication> authentication, T object, AuthorizationResult result) Publish the given details in the form of an event, typicallyAuthorizationGrantedEvent
orAuthorizationDeniedEvent
.
-
Constructor Details
-
SpringAuthorizationEventPublisher
public SpringAuthorizationEventPublisher(org.springframework.context.ApplicationEventPublisher eventPublisher) Construct this publisher using Spring'sApplicationEventPublisher
- Parameters:
eventPublisher
-
-
-
Method Details
-
publishAuthorizationEvent
public <T> void publishAuthorizationEvent(Supplier<Authentication> authentication, T object, AuthorizationDecision decision) Publish the given details in the form of an event, typicallyAuthorizationGrantedEvent
orAuthorizationDeniedEvent
. Note that success events can be very noisy if enabled by default. Because of this implementations may choose to drop success events by default.- Specified by:
publishAuthorizationEvent
in interfaceAuthorizationEventPublisher
- Type Parameters:
T
- the secured object's type- Parameters:
authentication
- aSupplier
for the current userobject
- the secured objectdecision
- the decision about whether the user may access the secured object
-
publishAuthorizationEvent
public <T> void publishAuthorizationEvent(Supplier<Authentication> authentication, T object, AuthorizationResult result) Description copied from interface:AuthorizationEventPublisher
Publish the given details in the form of an event, typicallyAuthorizationGrantedEvent
orAuthorizationDeniedEvent
. Note that success events can be very noisy if enabled by default. Because of this implementations may choose to drop success events by default.- Specified by:
publishAuthorizationEvent
in interfaceAuthorizationEventPublisher
- Type Parameters:
T
- the secured object's type- Parameters:
authentication
- aSupplier
for the current userobject
- the secured objectresult
-AuthorizationResult
the result about whether the user may access the secured object
-