Interface SessionService


public interface SessionService
Generates, caches, stores, give access and removes sessions
  • Method Summary

    Modifier and Type Method Description
    SessionIdentity createSession​(java.lang.Object sessionData)
    Creates new session in storage with specified sessionData
    <T> T getSessionData​(java.lang.String sessionId)
    Gives session data by session id
    java.util.Optional<java.lang.String> getToken​(java.lang.String sessionId)
    Loads token for specified session
    void removeOldSessions()
    Removes all sessions with age is too big.
    void removeSession​(java.lang.String sessionId)
    Removes session from cache and from storage
    java.util.Map<java.lang.String,​java.lang.String> statisticsInfo()
    Retrieves statistics information
    void syncCache()
    Synchronizes cache with storage: for each session in cache it verify session state in storage and modify or remove session
    boolean verifyId​(java.lang.String sessionId)
    Verifies session id salt.
    boolean verifyToken​(java.lang.String sessionId, java.lang.String token)
    Verify token: loads token from storage ot cache and check its identity
    void zeroSessionAge​(java.lang.String sessionId)
    Makes session age to zero (in storage or in cache)
  • Method Details

    • createSession

      SessionIdentity createSession​(java.lang.Object sessionData)
      Creates new session in storage with specified sessionData
      Parameters:
      sessionData - additional session data to store in session (it can contain userId, role or else)
      Returns:
      session identity witch contains session id and token. Session id contains salt that nobody cannot create it
    • getSessionData

      <T> T getSessionData​(java.lang.String sessionId)
      Gives session data by session id
      Parameters:
      sessionId - session id
      Returns:
      session data or null if session with specified id is absent
    • verifyId

      boolean verifyId​(java.lang.String sessionId)
      Verifies session id salt. Very quick operation
      Parameters:
      sessionId - session id
      Returns:
      verification result: true - session id salt is good, false - otherwise
    • verifyToken

      boolean verifyToken​(java.lang.String sessionId, java.lang.String token)
      Verify token: loads token from storage ot cache and check its identity
      Parameters:
      sessionId - session id
      token - verifying token
      Returns:
      verification result: true - tokens are same to each other, false - tokens are not same
    • getToken

      java.util.Optional<java.lang.String> getToken​(java.lang.String sessionId)
      Loads token for specified session
      Parameters:
      sessionId - specified session id
      Returns:
      token
    • zeroSessionAge

      void zeroSessionAge​(java.lang.String sessionId)
      Makes session age to zero (in storage or in cache)
      Parameters:
      sessionId - id of age zeroing session
    • removeSession

      void removeSession​(java.lang.String sessionId)
      Removes session from cache and from storage
      Parameters:
      sessionId - removing session id
    • removeOldSessions

      void removeOldSessions()
      Removes all sessions with age is too big. Maximum age defined in SessionServiceBuilder
    • syncCache

      void syncCache()
      Synchronizes cache with storage: for each session in cache it verify session state in storage and modify or remove session
    • statisticsInfo

      java.util.Map<java.lang.String,​java.lang.String> statisticsInfo()
      Retrieves statistics information
      Returns:
      statistics information in map