Package org.springframework.security.cas.authentication

# Class SpringCacheBasedTicketCache

java.lang.Object
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

Constructors
Constructor
Description
`SpringCacheBasedTicketCache(org.springframework.cache.Cache cache)`

## Method Summary

Modifier and Type
Method
Description
`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(String serviceTicket)`
Removes the specified ticket from the cache, meaning that future calls will require a new service ticket.
`void`
`removeTicketFromCache(CasAuthenticationToken token)`
Removes the specified ticket from the cache, as per `StatelessTicketCache.removeTicketFromCache(String)`.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Constructor Details

### SpringCacheBasedTicketCache

public SpringCacheBasedTicketCache(org.springframework.cache.Cache cache)

## Method Details

### getByTicketId

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

If not found, returns a `null` `CasAuthenticationToken`.

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 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