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.
Constructor and Description |
---|
PreAuthenticatedAuthenticationProvider() |
Modifier and Type | Method and 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 the
UserDetails
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.
|
public PreAuthenticatedAuthenticationProvider()
public void afterPropertiesSet()
afterPropertiesSet
in interface org.springframework.beans.factory.InitializingBean
public Authentication authenticate(Authentication authentication) throws AuthenticationException
If the principal contained in the authentication object is null, the request will be ignored to allow other providers to authenticate it.
authenticate
in interface AuthenticationProvider
authentication
- the authentication request object.null
if the AuthenticationProvider
is unable to support
authentication of the passed Authentication
object. In such a case,
the next AuthenticationProvider
that supports the presented
Authentication
class will be tried.AuthenticationException
- if authentication fails.public final boolean supports(java.lang.Class<?> authentication)
supports
in interface AuthenticationProvider
true
if the implementation can more closely evaluate the
Authentication
class presentedpublic void setPreAuthenticatedUserDetailsService(AuthenticationUserDetailsService<PreAuthenticatedAuthenticationToken> uds)
UserDetails
for the authenticated user.uds
- public void setThrowExceptionWhenTokenRejected(boolean throwExceptionWhenTokenRejected)
public void setUserDetailsChecker(UserDetailsChecker userDetailsChecker)
AccountStatusUserDetailsChecker
.userDetailsChecker
- public int getOrder()
getOrder
in interface org.springframework.core.Ordered
public void setOrder(int i)