org.springframework.security.cas.authentication
Class SpringCacheBasedTicketCache

java.lang.Object
  extended by org.springframework.security.cas.authentication.SpringCacheBasedTicketCache
All Implemented Interfaces:
StatelessTicketCache

public class SpringCacheBasedTicketCache
extends Object
implements StatelessTicketCache

Caches tickets using a Spring IoC defined Cache.

Since:
3.2

Constructor Summary
SpringCacheBasedTicketCache(org.springframework.cache.Cache cache)
           
 
Method Summary
 CasAuthenticationToken getByTicketId(String serviceTicket)
          Retrieves the CasAuthenticationToken associated with the specified ticket.
 void putTicketInCache(CasAuthenticationToken token)
          Adds the specified CasAuthenticationToken to the cache.
 void removeTicketFromCache(CasAuthenticationToken token)
          Removes the specified ticket from the cache, as per StatelessTicketCache.removeTicketFromCache(String).
 void removeTicketFromCache(String serviceTicket)
          Removes the specified ticket from the cache, meaning that future calls will require a new service ticket.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SpringCacheBasedTicketCache

public SpringCacheBasedTicketCache(org.springframework.cache.Cache cache)
                            throws Exception
Throws:
Exception
Method Detail

getByTicketId

public CasAuthenticationToken getByTicketId(String serviceTicket)
Description copied from interface: StatelessTicketCache
Retrieves the CasAuthenticationToken associated with the specified ticket.

If not found, returns a nullCasAuthenticationToken.

Specified by:
getByTicketId in interface StatelessTicketCache
Returns:
the fully populated authentication token

putTicketInCache

public void putTicketInCache(CasAuthenticationToken token)
Description copied from interface: StatelessTicketCache
Adds the specified CasAuthenticationToken to the cache.

The CasAuthenticationToken.getCredentials() method is used to retrieve the service ticket number.

Specified by:
putTicketInCache in interface StatelessTicketCache
Parameters:
token - to be added to the cache

removeTicketFromCache

public void removeTicketFromCache(CasAuthenticationToken token)
Description copied from interface: StatelessTicketCache
Removes the specified ticket from the cache, as per StatelessTicketCache.removeTicketFromCache(String).

Implementations should use CasAuthenticationToken.getCredentials() to obtain the ticket and then delegate to to the StatelessTicketCache.removeTicketFromCache(String) method.

Specified by:
removeTicketFromCache in interface StatelessTicketCache
Parameters:
token - to be removed

removeTicketFromCache

public void removeTicketFromCache(String serviceTicket)
Description copied from interface: StatelessTicketCache
Removes the specified ticket from the cache, meaning that future calls will require a new service ticket.

This is in case applications wish to provide a session termination capability for their stateless clients.

Specified by:
removeTicketFromCache in interface StatelessTicketCache
Parameters:
serviceTicket - to be removed