Class PreAuthorizeReactiveAuthorizationManager
java.lang.Object
org.springframework.security.authorization.method.PreAuthorizeReactiveAuthorizationManager
- All Implemented Interfaces:
MethodAuthorizationDeniedHandler,ReactiveAuthorizationManager<org.aopalliance.intercept.MethodInvocation>
public final class PreAuthorizeReactiveAuthorizationManager
extends Object
implements ReactiveAuthorizationManager<org.aopalliance.intercept.MethodInvocation>, MethodAuthorizationDeniedHandler
A
ReactiveAuthorizationManager which can determine if an Authentication
has access to the MethodInvocation by evaluating an expression from the
PreAuthorize annotation.- Since:
- 5.8
-
Constructor Summary
ConstructorsConstructorDescriptionPreAuthorizeReactiveAuthorizationManager(MethodSecurityExpressionHandler expressionHandler) -
Method Summary
Modifier and TypeMethodDescriptionreactor.core.publisher.Mono<AuthorizationResult>authorize(reactor.core.publisher.Mono<Authentication> authentication, org.aopalliance.intercept.MethodInvocation mi) Determines if anAuthenticationhas access to theMethodInvocationby evaluating an expression from thePreAuthorizeannotation.@Nullable ObjecthandleDeniedInvocation(org.aopalliance.intercept.MethodInvocation methodInvocation, AuthorizationResult authorizationResult) Handle denied method invocations, implementations might either throw anAuthorizationDeniedExceptionor a replacement result instead of invoking the method, e.g.voidsetApplicationContext(org.springframework.context.ApplicationContext context) voidConfigure pre/post-authorization template resolutionMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.springframework.security.authorization.method.MethodAuthorizationDeniedHandler
handleDeniedInvocationResultMethods inherited from interface org.springframework.security.authorization.ReactiveAuthorizationManager
verify
-
Constructor Details
-
PreAuthorizeReactiveAuthorizationManager
public PreAuthorizeReactiveAuthorizationManager() -
PreAuthorizeReactiveAuthorizationManager
-
-
Method Details
-
setTemplateDefaults
Configure pre/post-authorization template resolutionBy default, this value is
null, which indicates that templates should not be resolved.- Parameters:
defaults- - whether to resolve pre/post-authorization templates parameters- Since:
- 6.4
-
setApplicationContext
public void setApplicationContext(org.springframework.context.ApplicationContext context) -
authorize
public reactor.core.publisher.Mono<AuthorizationResult> authorize(reactor.core.publisher.Mono<Authentication> authentication, org.aopalliance.intercept.MethodInvocation mi) Determines if anAuthenticationhas access to theMethodInvocationby evaluating an expression from thePreAuthorizeannotation.- Specified by:
authorizein interfaceReactiveAuthorizationManager<org.aopalliance.intercept.MethodInvocation>- Parameters:
authentication- theMonoof theAuthenticationto checkmi- theMethodInvocationto check- Returns:
- a
Monoof theAuthorizationResultor an emptyMonoif thePreAuthorizeannotation is not present
-
handleDeniedInvocation
public @Nullable Object handleDeniedInvocation(org.aopalliance.intercept.MethodInvocation methodInvocation, AuthorizationResult authorizationResult) Description copied from interface:MethodAuthorizationDeniedHandlerHandle denied method invocations, implementations might either throw anAuthorizationDeniedExceptionor a replacement result instead of invoking the method, e.g. a masked value.- Specified by:
handleDeniedInvocationin interfaceMethodAuthorizationDeniedHandler- Parameters:
methodInvocation- theMethodInvocationrelated to the authorization deniedauthorizationResult- the authorization denied result- Returns:
- a replacement result for the denied method invocation, or null, or a
Monofor reactive applications
-