| java.lang.Object org.opencms.main.CmsSessionManager
CmsSessionManager | public class CmsSessionManager (Code) | | Keeps track of the sessions running on the OpenCms server and
provides a session info storage which is used to get an overview
about currently authenticated OpenCms users, as well as sending broadcasts between users.
For each authenticated OpenCms user, a
org.opencms.main.CmsSessionInfo object
holds the information about the users status.
When a user session is invalidated, the user info will be removed.
This happens when a user log out, or when his session times out.
Please Note: The current implementation does not provide any permission checking,
so all users can access the methods of this manager. Permission checking
based on the current users OpenCms context may be added in a future OpenCms release.
author: Alexander Kandzior version: $Revision: 1.17 $ since: 6.0.0 |
CmsSessionManager | protected CmsSessionManager()(Code) | | Creates a new instance of the OpenCms session manager.
|
addSessionInfo | protected void addSessionInfo(CmsSessionInfo sessionInfo)(Code) | | Adds a new session info into the session storage.
Parameters: sessionInfo - the session info to store for the id |
getBroadcastQueue | public Buffer getBroadcastQueue(String sessionId)(Code) | | Returns the broadcast queue for the given OpenCms session id.
Parameters: sessionId - the OpenCms session id to get the broadcast queue for the broadcast queue for the given OpenCms session id |
getSessionCountAuthenticated | public int getSessionCountAuthenticated()(Code) | | Returns the number of sessions currently authenticated in the OpenCms security system.
the number of sessions currently authenticated in the OpenCms security system |
getSessionCountCurrent | public int getSessionCountCurrent()(Code) | | Returns the number of current sessions, including the sessions of not authenticated guest users.
the number of current sessions, including the sessions of not authenticated guest users |
getSessionCountTotal | public int getSessionCountTotal()(Code) | | Returns the number of total sessions generated so far, including already destroyed sessions.
the number of total sessions generated so far, including already destroyed sessions |
getSessionInfo | public CmsSessionInfo getSessionInfo(CmsUUID sessionId)(Code) | | Returns the complete user session info of a user from the session storage,
or null if this session id has no session info attached.
Parameters: sessionId - the OpenCms session id to return the session info for the complete user session info of a user from the session storage |
getSessionInfo | public CmsSessionInfo getSessionInfo(HttpServletRequest req)(Code) | | Returns the OpenCms user session info for the given request,
or null if no user session is available.
Parameters: req - the current request the OpenCms user session info for the given request, or null if no user session is available |
getSessionInfo | public CmsSessionInfo getSessionInfo(HttpSession session)(Code) | | Returns the OpenCms user session info for the given http session,
or null if no user session is available.
Parameters: session - the current http session the OpenCms user session info for the given http session, or null if no user session is available |
getSessionInfo | public CmsSessionInfo getSessionInfo(String sessionId)(Code) | | Returns the complete user session info of a user from the session storage,
or null if this session id has no session info attached.
Parameters: sessionId - the OpenCms session id to return the session info for,this must be a String representation of a CmsUUID the complete user session info of a user from the session storage See Also: CmsSessionManager.getSessionInfo(CmsUUID) |
getSessionInfos | public List getSessionInfos()(Code) | | Returns all current session info objects.
all current session info objects |
getSessionInfos | public List getSessionInfos(CmsUUID userId)(Code) | | Returns a list of all active session info objects for the specified user.
An OpenCms user can have many active sessions.
This is e.g. possible when two people have logged in to the system using the
same username. Even one person can have multiple sessions if he
is logged in to OpenCms with several browser windows at the same time.
Parameters: userId - the id of the user a list of all active session info objects for the specified user |
getSessionUUID | protected CmsUUID getSessionUUID(String sessionId)(Code) | | Returns the UUID representation for the given session id String.
Parameters: sessionId - the session id String to return the UUID representation for the UUID representation for the given session id String |
initialize | protected void initialize(I_CmsSessionStorageProvider sessionStorageProvider)(Code) | | Sets the storage provider.
Parameters: sessionStorageProvider - the storage provider implementation |
sendBroadcast | public void sendBroadcast(CmsObject cms, String message)(Code) | | Sends a broadcast to all sessions of all currently authenticated users.
Parameters: cms - the OpenCms user context of the user sending the broadcast Parameters: message - the message to broadcast |
sendBroadcast | public void sendBroadcast(CmsObject cms, String message, String sessionId)(Code) | | Sends a broadcast to the specified user session.
Parameters: cms - the OpenCms user context of the user sending the broadcast Parameters: message - the message to broadcast Parameters: sessionId - the OpenCms session uuid target (receiver) of the broadcast |
sendBroadcast | public void sendBroadcast(CmsUser fromUser, String message, CmsUser toUser)(Code) | | Sends a broadcast to all sessions of a given user.
The user sending the message may be a real user like
cms.getRequestContext().currentUser() or
null for a system message.
Parameters: fromUser - the user sending the broadcast Parameters: message - the message to broadcast Parameters: toUser - the target (receiver) of the broadcast |
shutdown | protected void shutdown() throws Exception(Code) | | Removes all stored session info objects.
throws: Exception - if something goes wrong |
switchUser | public void switchUser(CmsObject cms, HttpServletRequest req, CmsUser user) throws CmsException(Code) | | Switches the current user to the given user. The session info is rebuild as if the given user
performs a login at the workplace.
Parameters: cms - the current CmsObject Parameters: req - the current request Parameters: user - the user to switch to throws: CmsException - if something goes wrong |
updateSessionInfo | protected void updateSessionInfo(CmsObject cms, HttpServletRequest req)(Code) | | Updates the the OpenCms session data used for quick authentication of users.
This is required if the user data (current group or project) was changed in
the requested document.
The user data is only updated if the user was authenticated to the system.
Parameters: cms - the current OpenCms user context Parameters: req - the current request |
updateSessionInfos | public void updateSessionInfos(CmsObject cms)(Code) | | Updates all session info objects, so that invalid projects
are replaced by the Online project.
Parameters: cms - the cms context |
validateSessionInfos | protected void validateSessionInfos()(Code) | | Validates the sessions stored in this manager and removes
any sessions that have become invalidated.
|
|
|