Interface NativeSessionManager

All Superinterfaces:
SessionManager
All Known Implementing Classes:
AbstractNativeSessionManager, AbstractValidatingSessionManager, DefaultSessionManager

public interface NativeSessionManager extends SessionManager
A Native session manager is one that manages sessions natively - that is, it is directly responsible for the creation, persistence and removal of Session instances and their lifecycles.
Since:
1.0
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    Returns quietly if the associated session is valid (it exists and is not stopped or expired) or throws an InvalidSessionException indicating that the session id is invalid.
    getAttribute(SessionKey sessionKey, Object attributeKey)
    Returns the object bound to the associated session identified by the specified attribute key.
    Returns all attribute keys maintained by the target session or an empty collection if there are no attributes.
    Returns the host name or IP string of the host where the session was started, if known.
    Returns the time the associated Session last interacted with the system.
    Returns the time the associated Session started (was created).
    long
    Returns the time in milliseconds that the associated session may remain idle before expiring.
    boolean
    Returns true if the associated session is valid (it exists and is not stopped nor expired), false otherwise.
    removeAttribute(SessionKey sessionKey, Object attributeKey)
    Removes (unbinds) the object bound to associated Session under the given attributeKey.
    void
    setAttribute(SessionKey sessionKey, Object attributeKey, Object value)
    Binds the specified value to the associated session uniquely identified by the attributeKey.
    void
    setTimeout(SessionKey key, long maxIdleTimeInMillis)
    Sets the time in milliseconds that the associated session may remain idle before expiring.
    void
    Explicitly stops the associated session, thereby releasing all of its resources.
    void
    Updates the last accessed time of the session identified by sessionId.

    Methods inherited from interface org.apache.shiro.session.mgt.SessionManager

    getSession, start
  • Method Details

    • getStartTimestamp

      Returns the time the associated Session started (was created).
      Parameters:
      key - the session key to use to look up the target session.
      Returns:
      the time the specified Session started (was created).
      See Also:
    • getLastAccessTime

      Returns the time the associated Session last interacted with the system.
      Parameters:
      key - the session key to use to look up the target session.
      Returns:
      time the session last accessed the system
      See Also:
    • isValid

      boolean isValid(SessionKey key)
      Returns true if the associated session is valid (it exists and is not stopped nor expired), false otherwise.
      Parameters:
      key - the session key to use to look up the target session.
      Returns:
      true if the session is valid (exists and is not stopped or expired), false otherwise.
    • checkValid

      Returns quietly if the associated session is valid (it exists and is not stopped or expired) or throws an InvalidSessionException indicating that the session id is invalid. This might be preferred to be used instead of isValid(org.apache.shiro.session.mgt.SessionKey) since any exception thrown will definitively explain the reason for invalidation.
      Parameters:
      key - the session key to use to look up the target session.
      Throws:
      InvalidSessionException - if the session id is invalid (it does not exist, or it is stopped or expired).
    • getTimeout

      Returns the time in milliseconds that the associated session may remain idle before expiring.
      • A negative return value means the session will never expire.
      • A non-negative return value (0 or greater) means the session expiration will occur if idle for that length of time.
      Parameters:
      key - the session key to use to look up the target session.
      Returns:
      the time in milliseconds that the associated session may remain idle before expiring.
      Throws:
      InvalidSessionException - if the session has been stopped or expired prior to calling this method.
    • setTimeout

      void setTimeout(SessionKey key, long maxIdleTimeInMillis) throws InvalidSessionException
      Sets the time in milliseconds that the associated session may remain idle before expiring.
      • A negative return value means the session will never expire.
      • A non-negative return value (0 or greater) means the session expiration will occur if idle for that length of time.
      Parameters:
      key - the session key to use to look up the target session.
      maxIdleTimeInMillis - the time in milliseconds that the associated session may remain idle before expiring.
      Throws:
      InvalidSessionException - if the session has been stopped or expired prior to calling this method.
    • touch

      Updates the last accessed time of the session identified by sessionId. This can be used to explicitly ensure that a session does not time out.
      Parameters:
      key - the session key to use to look up the target session.
      Throws:
      InvalidSessionException - if the session has been stopped or expired prior to calling this method.
      See Also:
    • getHost

      Returns the host name or IP string of the host where the session was started, if known. If no host name or IP was specified when starting the session, this method returns null
      Parameters:
      key - the session key to use to look up the target session.
      Returns:
      the host name or ip address of the host where the session originated, if known. If unknown, this method returns null.
    • stop

      Explicitly stops the associated session, thereby releasing all of its resources.
      Parameters:
      key - the session key to use to look up the target session.
      Throws:
      InvalidSessionException - if the session has stopped or expired prior to calling this method.
      See Also:
    • getAttributeKeys

      Returns all attribute keys maintained by the target session or an empty collection if there are no attributes.
      Parameters:
      sessionKey - the session key to use to look up the target session.
      Returns:
      all attribute keys maintained by the target session or an empty collection if there are no attributes.
      Throws:
      InvalidSessionException - if the associated session has stopped or expired prior to calling this method.
      See Also:
    • getAttribute

      Object getAttribute(SessionKey sessionKey, Object attributeKey) throws InvalidSessionException
      Returns the object bound to the associated session identified by the specified attribute key. If there is no object bound under the attribute key for the given session, null is returned.
      Parameters:
      sessionKey - session key to use to look up the target session.
      attributeKey - the unique name of the object bound to the associated session
      Returns:
      the object bound under the attributeKey or null if there is no object bound.
      Throws:
      InvalidSessionException - if the specified session has stopped or expired prior to calling this method.
      See Also:
    • setAttribute

      void setAttribute(SessionKey sessionKey, Object attributeKey, Object value) throws InvalidSessionException
      Binds the specified value to the associated session uniquely identified by the attributeKey. If there is already a session attribute bound under the attributeKey, that existing object will be replaced by the new value.

      If the value parameter is null, it has the same effect as if the removeAttribute(SessionKey sessionKey, Object attributeKey) method was called.

      Parameters:
      sessionKey - the session key to use to look up the target session.
      attributeKey - the key under which the value object will be bound in this session
      value - the object to bind in this session.
      Throws:
      InvalidSessionException - if the specified session has stopped or expired prior to calling this method.
      See Also:
    • removeAttribute

      Object removeAttribute(SessionKey sessionKey, Object attributeKey) throws InvalidSessionException
      Removes (unbinds) the object bound to associated Session under the given attributeKey.
      Parameters:
      sessionKey - session key to use to look up the target session.
      attributeKey - the key uniquely identifying the object to remove
      Returns:
      the object removed or null if there was no object bound under the specified attributeKey.
      Throws:
      InvalidSessionException - if the specified session has stopped or expired prior to calling this method.
      See Also: