Class MemorySessions
- All Implemented Interfaces:
SessionManager
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionboolean
continueSession
(String authId) Continues an already active session.long
Counts the number of active sessions.void
Removes all available sessions.boolean
eraseSession
(String authId) Removes all traces of an authentication session.boolean
eraseUserSessions
(long userId) Removes all traces of all authentication sessions for a particular user.boolean
Obtains the restriction policy of the authentication ID in regard to the user's auth data.getSession
(String authId) long
Obtains the maximum time that a user can stay inactive before an active session becomes invalid.int
Obtains the frequency at which the purging will happen in relationship to the scale.int
Obtains the scale at which the purging will happen in relationship to the frequency.long
getSessionUserId
(String authId) Retrieves the id of a user that has access to a particular session.boolean
isSessionValid
(String authId, String authData) Verifies if a session is valid and still active.boolean
listSessions
(ListSessions processor) Lists the active sessions.void
Removes all sessions that are inactive.void
setRestrictAuthData
(boolean flags) Sets the restriction policy of the authentication ID in regard to the user's auth data.void
setSessionDuration
(long milliseconds) Sets the maximum time that a user can stay inactive before an active session becomes invalid.void
setSessionPurgeFrequency
(int frequency) Set the frequency at which the purging will happen in relationship to the scale.void
setSessionPurgeScale
(int scale) Set the scale at which the purging will happen in relationship to the frequency.startSession
(long userId, String authData, boolean remembered) Starts a new session.boolean
wasRemembered
(String authId) Checks if a session was previously automatically created from remembered data.
-
Constructor Details
-
MemorySessions
public MemorySessions()
-
-
Method Details
-
getSessionDuration
public long getSessionDuration()Description copied from interface:SessionManager
Obtains the maximum time that a user can stay inactive before an active session becomes invalid.- Specified by:
getSessionDuration
in interfaceSessionManager
- Returns:
- The maximum time of inactivity in milliseconds.
-
setSessionDuration
public void setSessionDuration(long milliseconds) Description copied from interface:SessionManager
Sets the maximum time that a user can stay inactive before an active session becomes invalid.- Specified by:
setSessionDuration
in interfaceSessionManager
- Parameters:
milliseconds
- The maximum time of inactivity in milliseconds.
-
getRestrictAuthData
public boolean getRestrictAuthData()Description copied from interface:SessionManager
Obtains the restriction policy of the authentication ID in regard to the user's auth data.The default is
false
, or no restriction.- Specified by:
getRestrictAuthData
in interfaceSessionManager
- Returns:
true
if the authentication is restricted to one auth data; orfalse
if the authentication ID can be used with any auth data
-
setRestrictAuthData
public void setRestrictAuthData(boolean flags) Description copied from interface:SessionManager
Sets the restriction policy of the authentication ID in regard to the user's auth data.The default is
false
, or no restriction.- Specified by:
setRestrictAuthData
in interfaceSessionManager
- Parameters:
flags
-true
to activate the auth data restriction; orfalse
otherwise
-
getSessionPurgeFrequency
public int getSessionPurgeFrequency()Description copied from interface:SessionManager
Obtains the frequency at which the purging will happen in relationship to the scale.This defaults to
RifeConfig.AuthenticationConfig.getSessionPurgeFrequency()
.- Specified by:
getSessionPurgeFrequency
in interfaceSessionManager
- Returns:
- the purge frequency
- See Also:
-
setSessionPurgeFrequency
public void setSessionPurgeFrequency(int frequency) Description copied from interface:SessionManager
Set the frequency at which the purging will happen in relationship to the scale.By default, the frequency and scale respectively are 20 and 1000, which means that the purging will have once every fifty times the authentication sessions are accessed.
- Specified by:
setSessionPurgeFrequency
in interfaceSessionManager
- Parameters:
frequency
- the purge frequency- See Also:
-
getSessionPurgeScale
public int getSessionPurgeScale()Description copied from interface:SessionManager
Obtains the scale at which the purging will happen in relationship to the frequency.This defaults to
RifeConfig.AuthenticationConfig.getSessionPurgeScale()
.- Specified by:
getSessionPurgeScale
in interfaceSessionManager
- Returns:
- the purge scale
- See Also:
-
setSessionPurgeScale
public void setSessionPurgeScale(int scale) Description copied from interface:SessionManager
Set the scale at which the purging will happen in relationship to the frequency.By default, the frequency and scale respectively are 20 and 1000, which means that the purging will have once every fifty times the authentication sessions are accessed.
- Specified by:
setSessionPurgeScale
in interfaceSessionManager
- Parameters:
scale
- the purge scale- See Also:
-
purgeSessions
public void purgeSessions()Description copied from interface:SessionManager
Removes all sessions that are inactive. This means that all sessions where the inactivity time has been exceeded, will be removed.- Specified by:
purgeSessions
in interfaceSessionManager
-
startSession
public String startSession(long userId, String authData, boolean remembered) throws SessionManagerException Description copied from interface:SessionManager
Starts a new session.- Specified by:
startSession
in interfaceSessionManager
- Parameters:
userId
- The id that uniquely identifies the user that is allowed to use this session.authData
- The authentication data that is associated with the session.remembered
- Indicates whether the session is started through remember me or from scratch.- Returns:
- A
String
that uniquely identifies the authentication session that was just started. - Throws:
SessionManagerException
- An undefined number of exceptional cases or error situations can occur when a session is started. They are all indicated by throwing an instance ofSessionManagerException
. It's up to the implementations of this interface to give more specific meanings to these exceptions.
-
isSessionValid
Description copied from interface:SessionManager
Verifies if a session is valid and still active.- Specified by:
isSessionValid
in interfaceSessionManager
- Parameters:
authId
- The unique id of the authentication session that needs to be verified.authData
- The authentication data that is associated with the session.- Returns:
true
if a valid active session was found; orfalse
if this was not possible.- Throws:
SessionManagerException
- An undefined number of exceptional cases or error situations can occur when a session is verified. They are all indicated by throwing an instance ofSessionManagerException
. It's up to the implementations of this interface to give more specific meanings to these exceptions.
-
getSessionUserId
Description copied from interface:SessionManager
Retrieves the id of a user that has access to a particular session.- Specified by:
getSessionUserId
in interfaceSessionManager
- Parameters:
authId
- The unique id of the authentication session for which the user needs to be looked up.- Returns:
- A long
>= 0
that corresponds to the user id that has access to the session; or-1
if the session couldn't be found. - Throws:
SessionManagerException
- An undefined number of exceptional cases or error situations can occur when user id of a session is retrieved. They are all indicated by throwing an instance ofSessionManagerException
. It's up to the implementations of this interface to give more specific meanings to these exceptions.
-
continueSession
Description copied from interface:SessionManager
Continues an already active session. This means that the inactivity time-out is reset to the maximal value. This is typically called each time a user accesses an application.- Specified by:
continueSession
in interfaceSessionManager
- Parameters:
authId
- The unique id of the authentication session that needs to be continued.- Returns:
true
if the session was successfully continued; orfalse
if this was not possible (i.e. the session couldn't be found).- Throws:
SessionManagerException
- An undefined number of exceptional cases or error situations can occur when a session is continued. They are all indicated by throwing an instance ofSessionManagerException
. It's up to the implementations of this interface to give more specific meanings to these exceptions.
-
eraseSession
Description copied from interface:SessionManager
Removes all traces of an authentication session. This makes the session instantly inactive and invalid.- Specified by:
eraseSession
in interfaceSessionManager
- Parameters:
authId
- The unique id of the authentication session that needs to be erased.- Returns:
true
if the session was successfully erased; orfalse
if this was not possible (i.e. the session couldn't be found).- Throws:
SessionManagerException
- An undefined number of exceptional cases or error situations can occur when a session is erased. They are all indicated by throwing an instance ofSessionManagerException
. It's up to the implementations of this interface to give more specific meanings to these exceptions.
-
wasRemembered
Description copied from interface:SessionManager
Checks if a session was previously automatically created from remembered data.- Specified by:
wasRemembered
in interfaceSessionManager
- Parameters:
authId
- The unique id of the authentication session that needs to be erased.- Returns:
true
if the session was created automatically from remembered data; orfalse
if it was created from full credentials or if the session couldn't be found.- Throws:
SessionManagerException
- An undefined number of exceptional cases or error situations can occur when a session is erased. They are all indicated by throwing an instance ofSessionManagerException
. It's up to the implementations of this interface to give more specific meanings to these exceptions.
-
eraseUserSessions
Description copied from interface:SessionManager
Removes all traces of all authentication sessions for a particular user. This makes all sessions of this user instantly inactive and invalid.- Specified by:
eraseUserSessions
in interfaceSessionManager
- Parameters:
userId
- The id that uniquely identifies the user whose sessions are to be erased.- Returns:
true
if the sessions were successfully erased; orfalse
if this was not possible (i.e. no sessions couldn't be found).- Throws:
SessionManagerException
- An undefined number of exceptional cases or error situations can occur when a session is erased. They are all indicated by throwing an instance ofSessionManagerException
. It's up to the implementations of this interface to give more specific meanings to these exceptions.
-
eraseAllSessions
Description copied from interface:SessionManager
Removes all available sessions. This makes all sessions instantly invalid and inactive for all users.- Specified by:
eraseAllSessions
in interfaceSessionManager
- Throws:
SessionManagerException
- An undefined number of exceptional cases or error situations can occur when a session is erased. They are all indicated by throwing an instance ofSessionManagerException
. It's up to the implementations of this interface to give more specific meanings to these exceptions.
-
getSession
-
countSessions
public long countSessions()Description copied from interface:SessionManager
Counts the number of active sessions.- Specified by:
countSessions
in interfaceSessionManager
- Returns:
- The number of active sessions.
-
listSessions
Description copied from interface:SessionManager
Lists the active sessions.- Specified by:
listSessions
in interfaceSessionManager
- Parameters:
processor
- The row processor that will be used to list the active sessions.- Returns:
true
if active sessions were found; orfalse
if no session was active.
-