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 java.lang.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
-
-
Constructor Summary
Constructors Constructor Description PreAuthenticatedAuthenticationProvider()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
afterPropertiesSet()
Check whether all required properties have been set.Authentication
authenticate(Authentication authentication)
Authenticate the given PreAuthenticatedAuthenticationToken.int
getOrder()
void
setOrder(int i)
void
setPreAuthenticatedUserDetailsService(AuthenticationUserDetailsService<PreAuthenticatedAuthenticationToken> uds)
Set the AuthenticatedUserDetailsService to be used to load theUserDetails
for the authenticated user.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).void
setUserDetailsChecker(UserDetailsChecker userDetailsChecker)
Sets the strategy which will be used to validate the loaded UserDetails object for the user.boolean
supports(java.lang.Class<?> authentication)
Indicate that this provider only supports PreAuthenticatedAuthenticationToken (sub)classes.
-
-
-
Method Detail
-
afterPropertiesSet
public void afterPropertiesSet()
Check whether all required properties have been set.- Specified by:
afterPropertiesSet
in interfaceorg.springframework.beans.factory.InitializingBean
-
authenticate
public 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:
authenticate
in interfaceAuthenticationProvider
- Parameters:
authentication
- the authentication request object.- Returns:
- a fully authenticated object including credentials. May return
null
if theAuthenticationProvider
is unable to support authentication of the passedAuthentication
object. In such a case, the nextAuthenticationProvider
that supports the presentedAuthentication
class will be tried. - Throws:
AuthenticationException
- if authentication fails.
-
supports
public final boolean supports(java.lang.Class<?> authentication)
Indicate that this provider only supports PreAuthenticatedAuthenticationToken (sub)classes.- Specified by:
supports
in interfaceAuthenticationProvider
- Returns:
true
if the implementation can more closely evaluate theAuthentication
class presented
-
setPreAuthenticatedUserDetailsService
public void setPreAuthenticatedUserDetailsService(AuthenticationUserDetailsService<PreAuthenticatedAuthenticationToken> uds)
Set the AuthenticatedUserDetailsService to be used to load theUserDetails
for 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
public void setUserDetailsChecker(UserDetailsChecker userDetailsChecker)
Sets the strategy which will be used to validate the loaded UserDetails object for the user. Defaults to anAccountStatusUserDetailsChecker
.- Parameters:
userDetailsChecker
-
-
getOrder
public int getOrder()
- Specified by:
getOrder
in interfaceorg.springframework.core.Ordered
-
setOrder
public void setOrder(int i)
-
-