public abstract class AbstractAuthenticationToken extends java.lang.Object implements Authentication, CredentialsContainer
Authentication objects.
 Implementations which use this class should be immutable.
| Constructor and Description | 
|---|
AbstractAuthenticationToken(java.util.Collection<? extends GrantedAuthority> authorities)
Creates a token with the supplied array of authorities. 
 | 
| Modifier and Type | Method and Description | 
|---|---|
boolean | 
equals(java.lang.Object obj)  | 
void | 
eraseCredentials()
Checks the  
credentials, principal and details objects,
 invoking the eraseCredentials method on any which implement
 CredentialsContainer. | 
java.util.Collection<GrantedAuthority> | 
getAuthorities()
Set by an  
AuthenticationManager to indicate the authorities that the
 principal has been granted. | 
java.lang.Object | 
getDetails()
Stores additional details about the authentication request. 
 | 
java.lang.String | 
getName()  | 
int | 
hashCode()  | 
boolean | 
isAuthenticated()
Used to indicate to  
AbstractSecurityInterceptor whether it should present
 the authentication token to the AuthenticationManager. | 
void | 
setAuthenticated(boolean authenticated)
See  
Authentication.isAuthenticated() for a full description. | 
void | 
setDetails(java.lang.Object details)  | 
java.lang.String | 
toString()  | 
clone, finalize, getClass, notify, notifyAll, wait, wait, waitgetCredentials, getPrincipalpublic AbstractAuthenticationToken(java.util.Collection<? extends GrantedAuthority> authorities)
authorities - the collection of GrantedAuthoritys for the principal
 represented by this authentication object.public java.util.Collection<GrantedAuthority> getAuthorities()
AuthenticationAuthenticationManager to 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 trusted AuthenticationManager.
 Implementations should ensure that modifications to the returned collection array do not affect the state of the Authentication object, or use an unmodifiable instance.
getAuthorities in interface Authenticationpublic java.lang.String getName()
getName in interface java.security.Principalpublic boolean isAuthenticated()
AuthenticationAbstractSecurityInterceptor whether it should present
 the authentication token to the AuthenticationManager. Typically an
 AuthenticationManager (or, more often, one of its
 AuthenticationProviders) will return an immutable authentication token
 after successful authentication, in which case that token can safely return
 true to this method. Returning true will improve
 performance, as calling the AuthenticationManager for every request
 will no longer be necessary.
 
 For security reasons, implementations of this interface should be very careful
 about returning true from this method unless they are either
 immutable, or have some way of ensuring the properties have not been changed since
 original creation.
isAuthenticated in interface AuthenticationAbstractSecurityInterceptor does not need to present the token to the
 AuthenticationManager again for re-authentication.public void setAuthenticated(boolean authenticated)
AuthenticationAuthentication.isAuthenticated() for a full description.
 
 Implementations should always allow this method to be called with a
 false parameter, 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 a true parameter (which would indicate the
 authentication token is trusted - a potential security risk) the implementation
 should throw an IllegalArgumentException.
setAuthenticated in interface Authenticationauthenticated - true if the token should be trusted (which may
 result in an exception) or false if the token should not be trustedpublic java.lang.Object getDetails()
AuthenticationgetDetails in interface Authenticationnull
 if not usedpublic void setDetails(java.lang.Object details)
public void eraseCredentials()
credentials, principal and details objects,
 invoking the eraseCredentials method on any which implement
 CredentialsContainer.eraseCredentials in interface CredentialsContainerpublic boolean equals(java.lang.Object obj)
equals in interface java.security.Principalequals in class java.lang.Objectpublic int hashCode()
hashCode in interface java.security.PrincipalhashCode in class java.lang.Objectpublic java.lang.String toString()
toString in interface java.security.PrincipaltoString in class java.lang.Object