public class

EhCacheBasedUserCache

extends Object
implements InitializingBean UserCache
java.lang.Object
   ↳ org.springframework.security.core.userdetails.cache.EhCacheBasedUserCache

Class Overview

Caches User objects using a Spring IoC defined EHCACHE.

Summary

Public Constructors
EhCacheBasedUserCache()
Public Methods
void afterPropertiesSet()
Ehcache getCache()
UserDetails getUserFromCache(String username)
Obtains a UserDetails from the cache.
void putUserInCache(UserDetails user)
Places a UserDetails in the cache.
void removeUserFromCache(String username)
Removes the specified user from the cache.
void removeUserFromCache(UserDetails user)
void setCache(Ehcache cache)
[Expand]
Inherited Methods
From class java.lang.Object
From interface org.springframework.beans.factory.InitializingBean
From interface org.springframework.security.core.userdetails.UserCache

Public Constructors

public EhCacheBasedUserCache ()

Public Methods

public void afterPropertiesSet ()

Throws
Exception

public Ehcache getCache ()

public UserDetails getUserFromCache (String username)

Obtains a UserDetails from the cache.

Parameters
username the User#getUsername() used to place the user in the cache
Returns
  • the populated UserDetails or null if the user could not be found or if the cache entry has expired

public void putUserInCache (UserDetails user)

Places a UserDetails in the cache. The username is the key used to subsequently retrieve the UserDetails.

Parameters
user the fully populated UserDetails to place in the cache

public void removeUserFromCache (String username)

Removes the specified user from the cache. The username is the key used to remove the user. If the user is not found, the method should simply return (not thrown an exception).

Some cache implementations may not support eviction from the cache, in which case they should provide appropriate behaviour to alter the user in either its documentation, via an exception, or through a log message.

Parameters
username to be evicted from the cache

public void removeUserFromCache (UserDetails user)

public void setCache (Ehcache cache)