Class PreAuthenticatedGrantedAuthoritiesUserDetailsService
- java.lang.Object
-
- org.springframework.security.web.authentication.preauth.PreAuthenticatedGrantedAuthoritiesUserDetailsService
-
- All Implemented Interfaces:
AuthenticationUserDetailsService<PreAuthenticatedAuthenticationToken>
public class PreAuthenticatedGrantedAuthoritiesUserDetailsService extends java.lang.Object implements AuthenticationUserDetailsService<PreAuthenticatedAuthenticationToken>
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.- Since:
- 2.0
-
-
Constructor Summary
Constructors Constructor Description PreAuthenticatedGrantedAuthoritiesUserDetailsService()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected UserDetails
createUserDetails(Authentication token, java.util.Collection<? extends GrantedAuthority> authorities)
Creates the final UserDetails object.UserDetails
loadUserDetails(PreAuthenticatedAuthenticationToken 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.
-
-
-
Method Detail
-
loadUserDetails
public final UserDetails loadUserDetails(PreAuthenticatedAuthenticationToken token) throws AuthenticationException
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.- Specified by:
loadUserDetails
in interfaceAuthenticationUserDetailsService<PreAuthenticatedAuthenticationToken>
- Parameters:
token
- The pre-authenticated authentication token- Returns:
- UserDetails for the given authentication token, never null.
- Throws:
UsernameNotFoundException
- if no user details can be found for the given authentication tokenAuthenticationException
-
createUserDetails
protected UserDetails createUserDetails(Authentication token, java.util.Collection<? extends GrantedAuthority> authorities)
Creates the final UserDetails object. Can be overridden to customize the contents.- Parameters:
token
- the authentication request tokenauthorities
- the pre-authenticated authorities.
-
-