public class PreAuthenticatedGrantedAuthoritiesUserDetailsService extends java.lang.Object implements AuthenticationUserDetailsService
This AuthenticationUserDetailsService implementation creates a UserDetails object based solely on the information contained in the given PreAuthenticatedAuthenticationToken. The user name is set to the name as returned by PreAuthenticatedAuthenticationToken.getName(), the password is set to a fixed dummy value (it will not be used by the PreAuthenticatedAuthenticationProvider anyway), and the Granted Authorities are retrieved from the details object as returned by PreAuthenticatedAuthenticationToken.getDetails().
The details object as returned by PreAuthenticatedAuthenticationToken.getDetails() must implement the
GrantedAuthoritiesContainer
interface for this implementation to work.
Constructor and Description |
---|
PreAuthenticatedGrantedAuthoritiesUserDetailsService() |
Modifier and Type | Method and Description |
---|---|
protected UserDetails |
createuserDetails(Authentication token,
GrantedAuthority[] authorities)
Creates the final UserDetails object.
|
UserDetails |
loadUserDetails(Authentication token)
Get a UserDetails object based on the user name contained in the given
token, and the GrantedAuthorities as returned by the
GrantedAuthoritiesContainer implementation as returned by
the token.getDetails() method.
|
public PreAuthenticatedGrantedAuthoritiesUserDetailsService()
public final UserDetails loadUserDetails(Authentication token) throws AuthenticationException
loadUserDetails
in interface AuthenticationUserDetailsService
token
- The pre-authenticated authentication tokenUsernameNotFoundException
- if no user details can be found for the given authentication
tokenAuthenticationException
protected UserDetails createuserDetails(Authentication token, GrantedAuthority[] authorities)
token
- the authentication request tokenauthorities
- the pre-authenticated authorities.