Class SessionRegistryImpl

java.lang.Object
org.springframework.security.core.session.SessionRegistryImpl
All Implemented Interfaces:
EventListener, org.springframework.context.ApplicationListener<AbstractSessionEvent>, SessionRegistry

public class SessionRegistryImpl extends Object implements SessionRegistry, org.springframework.context.ApplicationListener<AbstractSessionEvent>
Default implementation of SessionRegistry which listens for SessionDestroyedEvents published in the Spring application context.

For this class to function correctly in a web application, it is important that you register an HttpSessionEventPublisher in the web.xml file so that this class is notified of sessions that expire.

  • Field Details

    • logger

      protected final org.apache.commons.logging.Log logger
  • Constructor Details

  • Method Details

    • getAllPrincipals

      public List<Object> getAllPrincipals()
      Description copied from interface: SessionRegistry
      Obtains all the known principals in the SessionRegistry.
      Specified by:
      getAllPrincipals in interface SessionRegistry
      Returns:
      each of the unique principals, which can then be presented to SessionRegistry.getAllSessions(Object, boolean).
    • getAllSessions

      public List<SessionInformation> getAllSessions(Object principal, boolean includeExpiredSessions)
      Description copied from interface: SessionRegistry
      Obtains all the known sessions for the specified principal. Sessions that have been destroyed are not returned. Sessions that have expired may be returned, depending on the passed argument.
      Specified by:
      getAllSessions in interface SessionRegistry
      Parameters:
      principal - to locate sessions for (should never be null)
      includeExpiredSessions - if true, the returned sessions will also include those that have expired for the principal
      Returns:
      the matching sessions for this principal (should not return null).
    • getSessionInformation

      public SessionInformation getSessionInformation(String sessionId)
      Description copied from interface: SessionRegistry
      Obtains the session information for the specified sessionId. Even expired sessions are returned (although destroyed sessions are never returned).
      Specified by:
      getSessionInformation in interface SessionRegistry
      Parameters:
      sessionId - to lookup (should never be null)
      Returns:
      the session information, or null if not found
    • onApplicationEvent

      public void onApplicationEvent(AbstractSessionEvent event)
      Specified by:
      onApplicationEvent in interface org.springframework.context.ApplicationListener<AbstractSessionEvent>
    • refreshLastRequest

      public void refreshLastRequest(String sessionId)
      Description copied from interface: SessionRegistry
      Updates the given sessionId so its last request time is equal to the present date and time. Silently returns if the given sessionId cannot be found or the session is marked to expire.
      Specified by:
      refreshLastRequest in interface SessionRegistry
      Parameters:
      sessionId - for which to update the date and time of the last request (should never be null)
    • registerNewSession

      public void registerNewSession(String sessionId, Object principal)
      Description copied from interface: SessionRegistry
      Registers a new session for the specified principal. The newly registered session will not be marked for expiration.
      Specified by:
      registerNewSession in interface SessionRegistry
      Parameters:
      sessionId - to associate with the principal (should never be null )
      principal - to associate with the session (should never be null)
    • removeSessionInformation

      public void removeSessionInformation(String sessionId)
      Description copied from interface: SessionRegistry
      Deletes all the session information being maintained for the specified sessionId. If the sessionId is not found, the method gracefully returns.
      Specified by:
      removeSessionInformation in interface SessionRegistry
      Parameters:
      sessionId - to delete information for (should never be null)