Class PreAuthenticatedAuthenticationProvider
java.lang.Object
org.springframework.security.web.authentication.preauth.PreAuthenticatedAuthenticationProvider
- All Implemented Interfaces:
org.springframework.beans.factory.InitializingBean,org.springframework.core.Ordered,AuthenticationProvider
public class PreAuthenticatedAuthenticationProvider
extends Object
implements AuthenticationProvider, org.springframework.beans.factory.InitializingBean, org.springframework.core.Ordered
Processes a pre-authenticated authentication request. The request will typically
originate from a
AbstractPreAuthenticatedProcessingFilter
subclass.
This authentication provider will not perform any checks on authentication requests, as they should already be pre-authenticated. However, the AuthenticationUserDetailsService implementation may still throw a UsernameNotFoundException, for example.
- Since:
- 2.0
-
Field Summary
Fields inherited from interface org.springframework.core.Ordered
HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidCheck whether all required properties have been set.@Nullable Authenticationauthenticate(Authentication authentication) Authenticate the given PreAuthenticatedAuthenticationToken.intgetOrder()voidsetGrantedAuthoritySupplier(Supplier<Collection<GrantedAuthority>> grantedAuthoritySupplier) Sets authorities that this provider should grant once authentication completesvoidsetOrder(int i) voidsetPreAuthenticatedUserDetailsService(AuthenticationUserDetailsService<PreAuthenticatedAuthenticationToken> uds) Set the AuthenticatedUserDetailsService to be used to load theUserDetailsfor the authenticated user.voidsetThrowExceptionWhenTokenRejected(boolean throwExceptionWhenTokenRejected) If true, causes the provider to throw a BadCredentialsException if the presented authentication request is invalid (contains a null principal or credentials).voidsetUserDetailsChecker(UserDetailsChecker userDetailsChecker) Sets the strategy which will be used to validate the loaded UserDetails object for the user.final booleanIndicate that this provider only supports PreAuthenticatedAuthenticationToken (sub)classes.
-
Constructor Details
-
PreAuthenticatedAuthenticationProvider
public PreAuthenticatedAuthenticationProvider()
-
-
Method Details
-
afterPropertiesSet
public void afterPropertiesSet()Check whether all required properties have been set.- Specified by:
afterPropertiesSetin interfaceorg.springframework.beans.factory.InitializingBean
-
authenticate
public @Nullable Authentication authenticate(Authentication authentication) throws AuthenticationException Authenticate the given PreAuthenticatedAuthenticationToken.If the principal contained in the authentication object is null, the request will be ignored to allow other providers to authenticate it.
- Specified by:
authenticatein interfaceAuthenticationProvider- Parameters:
authentication- the authentication request object.- Returns:
- a fully authenticated object including credentials. May return
nullif theAuthenticationProvideris unable to support authentication of the passedAuthenticationobject. In such a case, the nextAuthenticationProviderthat supports the presentedAuthenticationclass will be tried. - Throws:
AuthenticationException- if authentication fails.
-
supports
Indicate that this provider only supports PreAuthenticatedAuthenticationToken (sub)classes.- Specified by:
supportsin interfaceAuthenticationProvider- Returns:
trueif the implementation can more closely evaluate theAuthenticationclass presented
-
setPreAuthenticatedUserDetailsService
public void setPreAuthenticatedUserDetailsService(AuthenticationUserDetailsService<PreAuthenticatedAuthenticationToken> uds) Set the AuthenticatedUserDetailsService to be used to load theUserDetailsfor the authenticated user.- Parameters:
uds-
-
setThrowExceptionWhenTokenRejected
public void setThrowExceptionWhenTokenRejected(boolean throwExceptionWhenTokenRejected) If true, causes the provider to throw a BadCredentialsException if the presented authentication request is invalid (contains a null principal or credentials). Otherwise it will just return null. Defaults to false. -
setUserDetailsChecker
Sets the strategy which will be used to validate the loaded UserDetails object for the user. Defaults to anAccountStatusUserDetailsChecker.- Parameters:
userDetailsChecker-
-
setGrantedAuthoritySupplier
public void setGrantedAuthoritySupplier(Supplier<Collection<GrantedAuthority>> grantedAuthoritySupplier) Sets authorities that this provider should grant once authentication completes- Parameters:
grantedAuthoritySupplier- the supplier that grants authorities
-
getOrder
public int getOrder()- Specified by:
getOrderin interfaceorg.springframework.core.Ordered
-
setOrder
public void setOrder(int i)
-