Class PreAuthenticatedGrantedAuthoritiesUserDetailsService
java.lang.Object
org.springframework.security.web.authentication.preauth.PreAuthenticatedGrantedAuthoritiesUserDetailsService
- All Implemented Interfaces:
AuthenticationUserDetailsService<PreAuthenticatedAuthenticationToken>
public class PreAuthenticatedGrantedAuthoritiesUserDetailsService
extends 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
-
Method Summary
Modifier and TypeMethodDescriptionprotected UserDetails
createUserDetails
(Authentication token, Collection<? extends GrantedAuthority> authorities) Creates the final UserDetails object.final UserDetails
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.
-
Constructor Details
-
PreAuthenticatedGrantedAuthoritiesUserDetailsService
public PreAuthenticatedGrantedAuthoritiesUserDetailsService()
-
-
Method Details
-
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, 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.
-