org.acegisecurity.providers.cas
Class CasAuthenticationToken

java.lang.Object
  extended by org.acegisecurity.providers.AbstractAuthenticationToken
      extended by org.acegisecurity.providers.cas.CasAuthenticationToken
All Implemented Interfaces:
Serializable, Principal, Authentication

public class CasAuthenticationToken
extends AbstractAuthenticationToken
implements Serializable

Represents a successful CAS Authentication.

Version:
$Id: CasAuthenticationToken.java,v 1.10 2005/11/29 13:10:07 benalex Exp $
Author:
Ben Alex
See Also:
Serialized Form

Constructor Summary
protected CasAuthenticationToken()
           
  CasAuthenticationToken(String key, Object principal, Object credentials, GrantedAuthority[] authorities, UserDetails userDetails, List proxyList, String proxyGrantingTicketIou)
          Constructor.
 
Method Summary
 boolean equals(Object obj)
           
 GrantedAuthority[] getAuthorities()
          Set by an AuthenticationManager to indicate the authorities that the principal has been granted.
 Object getCredentials()
          The credentials that prove the principal is correct.
 int getKeyHash()
           
 Object getPrincipal()
          The identity of the principal being authenticated.
 String getProxyGrantingTicketIou()
          Obtains the proxy granting ticket IOU.
 List getProxyList()
           
 UserDetails getUserDetails()
           
 boolean isAuthenticated()
          Used to indicate to AbstractSecurityInterceptor whether it should present the authentication token to the AuthenticationManager.
 void setAuthenticated(boolean isAuthenticated)
          See Authentication.isAuthenticated() for a full description.
 String toString()
           
 
Methods inherited from class org.acegisecurity.providers.AbstractAuthenticationToken
getDetails, getName
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface java.security.Principal
hashCode
 

Constructor Detail

CasAuthenticationToken

public CasAuthenticationToken(String key,
                              Object principal,
                              Object credentials,
                              GrantedAuthority[] authorities,
                              UserDetails userDetails,
                              List proxyList,
                              String proxyGrantingTicketIou)
Constructor.

Parameters:
key - to identify if this object made by a given CasAuthenticationProvider
principal - the username from CAS (cannot be null)
credentials - the service/proxy ticket ID from CAS (cannot be null)
authorities - the authorities granted to the user (from CasAuthoritiesPopulator) (cannot be null)
userDetails - the user details (from CasAuthoritiesPopulator) (cannot be null)
proxyList - the list of proxies from CAS (cannot be null)
proxyGrantingTicketIou - the PGT-IOU ID from CAS (cannot be null, but may be an empty String if no PGT-IOU ID was provided)
Throws:
IllegalArgumentException - if a null was passed

CasAuthenticationToken

protected CasAuthenticationToken()
Method Detail

setAuthenticated

public void setAuthenticated(boolean isAuthenticated)
Description copied from interface: Authentication
See Authentication.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.

Specified by:
setAuthenticated in interface Authentication
Parameters:
isAuthenticated - true if the token should be trusted (which may result in an exception) or false if the token should not be trusted

isAuthenticated

public boolean isAuthenticated()
Description copied from interface: Authentication
Used to indicate to AbstractSecurityInterceptor 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 to this method unless they are either immutable, or have some way of ensuring the properties have not been changed since original creation.

Specified by:
isAuthenticated in interface Authentication
Returns:
true if the token has been authenticated and the AbstractSecurityInterceptor does not need to represent the token for re-authentication to the AuthenticationManager

getAuthorities

public GrantedAuthority[] getAuthorities()
Description copied from interface: Authentication
Set by an AuthenticationManager 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.

Specified by:
getAuthorities in interface Authentication
Returns:
the authorities granted to the principal, or null if authentication has not been completed

getCredentials

public Object getCredentials()
Description copied from interface: Authentication
The credentials that prove the principal is correct. This is usually a password, but could be anything relevant to the AuthenticationManager. Callers are expected to populate the credentials.

Specified by:
getCredentials in interface Authentication
Returns:
the credentials that prove the identity of the Principal

getKeyHash

public int getKeyHash()

getPrincipal

public Object getPrincipal()
Description copied from interface: Authentication
The identity of the principal being authenticated. This is usually a username. Callers are expected to populate the principal.

Specified by:
getPrincipal in interface Authentication
Returns:
the Principal being authenticated

getProxyGrantingTicketIou

public String getProxyGrantingTicketIou()
Obtains the proxy granting ticket IOU.

Returns:
the PGT IOU-ID or an empty String if no proxy callback was requested when validating the service ticket

getProxyList

public List getProxyList()

getUserDetails

public UserDetails getUserDetails()

equals

public boolean equals(Object obj)
Specified by:
equals in interface Principal
Overrides:
equals in class AbstractAuthenticationToken

toString

public String toString()
Specified by:
toString in interface Principal
Overrides:
toString in class AbstractAuthenticationToken


Copyright © 2004-2005 Acegi Technology Pty Limited. All Rights Reserved.