Package org.springframework.security.core.session

# Interface SessionRegistry

All Known Implementing Classes:
  `SessionRegistryImpl`

public interface SessionRegistry
Maintains a registry of `SessionInformation` instances.

## Method Summary

Modifier and Type
Method
Description
`List<Object>`
`getAllPrincipals()`
Obtains all the known principals in the `SessionRegistry`.
`List<SessionInformation>`
`getAllSessions(Object principal, boolean includeExpiredSessions)`
Obtains all the known sessions for the specified principal.
`SessionInformation`
`getSessionInformation(String sessionId)`
Obtains the session information for the specified `sessionId`.
`void`
`refreshLastRequest(String sessionId)`
Updates the given `sessionId` so its last request time is equal to the present date and time.
`void`
`registerNewSession(String sessionId, Object principal)`
Registers a new session for the specified principal.
`void`
`removeSessionInformation(String sessionId)`
Deletes all the session information being maintained for the specified `sessionId`.

## Method Details

### getAllPrincipals

List<Object> getAllPrincipals()
Obtains all the known principals in the `SessionRegistry`.

Returns:
  each of the unique principals, which can then be presented to `getAllSessions(Object, boolean)`.

### getAllSessions

List<SessionInformation> getAllSessions(Object principal, boolean includeExpiredSessions)
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.

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

SessionInformation getSessionInformation(String sessionId)
Obtains the session information for the specified `sessionId`. Even expired sessions are returned (although destroyed sessions are never returned).

Parameters:
  `sessionId` - to lookup (should never be `null`)
Returns:
  the session information, or `null` if not found

### refreshLastRequest

void refreshLastRequest(String sessionId)
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.

Parameters:
  `sessionId` - for which to update the date and time of the last request (should never be `null`)

### registerNewSession

void registerNewSession(String sessionId, Object principal)
Registers a new session for the specified principal. The newly registered session will not be marked for expiration.

Parameters:
  `sessionId` - to associate with the principal (should never be `null` )
  `principal` - to associate with the session (should never be `null`)

### removeSessionInformation

void removeSessionInformation(String sessionId)
Deletes all the session information being maintained for the specified `sessionId`. If the `sessionId` is not found, the method gracefully returns.

Parameters:
  `sessionId` - to delete information for (should never be `null`)