Class AbstractAuthenticationToken
- All Implemented Interfaces:
Serializable,Principal,Authentication,CredentialsContainer
- Direct Known Subclasses:
AbstractOAuth2TokenAuthenticationToken,AnonymousAuthenticationToken,BearerTokenAuthenticationToken,OAuth2AuthenticationToken,OAuth2AuthorizationCodeAuthenticationToken,OAuth2LoginAuthenticationToken,PreAuthenticatedAuthenticationToken,RememberMeAuthenticationToken,RunAsUserToken,Saml2Authentication,Saml2AuthenticationToken,TestingAuthenticationToken,UsernamePasswordAuthenticationToken
Authentication objects.
Implementations which use this class should be immutable.
- See Also:
-
Constructor Summary
ConstructorsConstructorDescriptionAbstractAuthenticationToken(Collection<? extends GrantedAuthority> authorities) Creates a token with the supplied array of authorities. -
Method Summary
Modifier and TypeMethodDescriptionbooleanvoidChecks thecredentials,principalanddetailsobjects, invoking theeraseCredentialsmethod on any which implementCredentialsContainer.Set by anAuthenticationManagerto indicate the authorities that the principal has been granted.Stores additional details about the authentication request.getName()inthashCode()booleanUsed to indicate toAbstractSecurityInterceptorwhether it should present the authentication token to theAuthenticationManager.voidsetAuthenticated(boolean authenticated) SeeAuthentication.isAuthenticated()for a full description.voidsetDetails(Object details) toString()Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface org.springframework.security.core.Authentication
getCredentials, getPrincipal
-
Constructor Details
-
AbstractAuthenticationToken
Creates a token with the supplied array of authorities.- Parameters:
authorities- the collection of GrantedAuthoritys for the principal represented by this authentication object.
-
-
Method Details
-
getAuthorities
Description copied from interface:AuthenticationSet by anAuthenticationManagerto indicate the authorities that the principal has been granted. Note that classes should not rely on this value as being valid unless it has been set by a trustedAuthenticationManager.Implementations should ensure that modifications to the returned collection array do not affect the state of the Authentication object, or use an unmodifiable instance.
- Specified by:
getAuthoritiesin interfaceAuthentication- Returns:
- the authorities granted to the principal, or an empty collection if the token has not been authenticated. Never null.
-
getName
-
isAuthenticated
public boolean isAuthenticated()Description copied from interface:AuthenticationUsed to indicate toAbstractSecurityInterceptorwhether it should present the authentication token to theAuthenticationManager. Typically anAuthenticationManager(or, more often, one of itsAuthenticationProviders) will return an immutable authentication token after successful authentication, in which case that token can safely returntrueto this method. Returningtruewill improve performance, as calling theAuthenticationManagerfor every request will no longer be necessary.For security reasons, implementations of this interface should be very careful about returning
truefrom this method unless they are either immutable, or have some way of ensuring the properties have not been changed since original creation.- Specified by:
isAuthenticatedin interfaceAuthentication- Returns:
- true if the token has been authenticated and the
AbstractSecurityInterceptordoes not need to present the token to theAuthenticationManageragain for re-authentication.
-
setAuthenticated
public void setAuthenticated(boolean authenticated) Description copied from interface:AuthenticationSeeAuthentication.isAuthenticated()for a full description.Implementations should always allow this method to be called with a
falseparameter, as this is used by various classes to specify the authentication token should not be trusted. If an implementation wishes to reject an invocation with atrueparameter (which would indicate the authentication token is trusted - a potential security risk) the implementation should throw anIllegalArgumentException.- Specified by:
setAuthenticatedin interfaceAuthentication- Parameters:
authenticated-trueif the token should be trusted (which may result in an exception) orfalseif the token should not be trusted
-
getDetails
Description copied from interface:AuthenticationStores additional details about the authentication request. These might be an IP address, certificate serial number etc.- Specified by:
getDetailsin interfaceAuthentication- Returns:
- additional details about the authentication request, or
nullif not used
-
setDetails
-
eraseCredentials
public void eraseCredentials()Checks thecredentials,principalanddetailsobjects, invoking theeraseCredentialsmethod on any which implementCredentialsContainer.- Specified by:
eraseCredentialsin interfaceCredentialsContainer
-
equals
-
hashCode
public int hashCode() -
toString
-