Interface FindByIndexNameSessionRepository<S extends Session>

Type Parameters:
S - the type of Session being managed by this FindByIndexNameSessionRepository
All Superinterfaces:
SessionRepository<S>
All Known Implementing Classes:
HazelcastIndexedSessionRepository, JdbcIndexedSessionRepository, MongoIndexedSessionRepository, RedisIndexedSessionRepository

public interface FindByIndexNameSessionRepository<S extends Session> extends SessionRepository<S>
Extends a basic SessionRepository to allow finding sessions by the specified index name and index value.
  • Field Details

    • PRINCIPAL_NAME_INDEX_NAME

      static final String PRINCIPAL_NAME_INDEX_NAME
      A session index that contains the current principal name (i.e. username).

      It is the responsibility of the developer to ensure the index is populated since Spring Session is not aware of the authentication mechanism being used.

      Since:
      1.1
  • Method Details

    • findByIndexNameAndIndexValue

      Map<String,S> findByIndexNameAndIndexValue(String indexName, String indexValue)
      Find a Map of the session id to the Session of all sessions that contain the specified index name index value.
      Parameters:
      indexName - the name of the index (i.e. PRINCIPAL_NAME_INDEX_NAME)
      indexValue - the value of the index to search for.
      Returns:
      a Map (never null) of the session id to the Session of all sessions that contain the specified index name and index value. If no results are found, an empty Map is returned.
    • findByPrincipalName

      default Map<String,S> findByPrincipalName(String principalName)
      Find a Map of the session id to the Session of all sessions that contain the index with the name PRINCIPAL_NAME_INDEX_NAME and the specified principal name.
      Parameters:
      principalName - the principal name
      Returns:
      a Map (never null) of the session id to the Session of all sessions that contain the specified principal name. If no results are found, an empty Map is returned.
      Since:
      2.1.0