public class UserSessionManager
extends java.lang.Object
implements javax.servlet.http.HttpSessionListener, javax.servlet.http.HttpSessionAttributeListener, com.groiss.servlet.impl.UserSessionManager, javax.servlet.ServletContextListener
Modifier and Type | Class and Description |
---|---|
static class |
UserSessionManager.SessionState |
Modifier and Type | Field and Description |
---|---|
static short |
INFO |
static java.lang.String |
PENDING_ACTION |
static java.lang.String |
PENDING_INFO |
static short |
WARNING |
Constructor and Description |
---|
UserSessionManager() |
Modifier and Type | Method and Description |
---|---|
static boolean |
addPendingAction(short type,
java.lang.String id,
java.lang.String message) |
static boolean |
addPendingAction(short type,
java.lang.String id,
java.lang.String message,
java.lang.String cause)
Add a pending action to the user session which is visible later via an icon in the toolbar.
|
static boolean |
addRestartAction()
Deprecated.
|
static boolean |
addRestartAction(java.lang.String cause)
This method calls addPendingAction with the parameters WARNING, restart, and
an appropriate message for the restart.
|
void |
attributeAdded(javax.servlet.http.HttpSessionBindingEvent ev) |
void |
attributeRemoved(javax.servlet.http.HttpSessionBindingEvent ev) |
void |
attributeReplaced(javax.servlet.http.HttpSessionBindingEvent ev) |
void |
contextDestroyed(javax.servlet.ServletContextEvent sce) |
void |
contextInitialized(javax.servlet.ServletContextEvent sce) |
static void |
deleteUserSessions(int days)
Delete all sessions older than the given dates
|
static javax.servlet.http.HttpSession |
findHttpSession(java.lang.String httpSessionId) |
static java.lang.String |
findHttpSessionId(java.lang.String userSessionId) |
static int |
getActiveSessionCount()
return the number of users currently logged in
|
static java.util.List<IUserSession> |
getActiveSessions()
return the list of users currently logged in
|
static java.util.List<IUserSession> |
getActiveSessions(java.lang.String node)
return the list of users currently logged in at a node
|
static java.util.List<IUserSession> |
getConcurrentSessions()
return the list of userssessions which count for concurrent licenses
|
static int |
getConcurrentUsers() |
static java.lang.String |
getLoginMessage() |
static int |
getMaxConcurrent(java.util.Date since,
java.util.Date until) |
static IUserSession |
getSessionById(java.lang.String sessionId)
called when session are read from dumped file after restart.
|
static java.util.List<IUserSession> |
getSessions(java.lang.Boolean active,
java.util.Date since,
java.util.Date until,
User u)
The sessions selected by date and/or user.
|
static java.util.List<IUserSession> |
getSessions(java.lang.Boolean active,
java.util.Date since,
java.util.Date until,
User u,
int lastaccess) |
static java.util.Map<java.lang.Long,UserSessionManager.SessionState> |
getSessionStates(User user) |
static boolean |
hasPendingAction(short type,
java.lang.String id)
Check if a pending action has been added to the user session.
|
static void |
init() |
static void |
initSessions()
On startup set namedUsers and put user session in httpSessions
|
void |
invalidateHttpSessionCookie(javax.servlet.http.HttpSession s,
javax.servlet.http.HttpServletResponse res) |
boolean |
isActiveSession(java.lang.String userSessionId) |
static boolean |
isLoggedIn(User user) |
static boolean |
isLoginAllowed() |
static java.lang.String |
login(User user,
java.lang.String ip)
Called on login of a user
|
static java.lang.String |
login(User user,
java.lang.String ip,
boolean interactive,
short sessiontype) |
static void |
logout(IUserSession sess)
End the session (if session is already
finished, do nothing).
|
static void |
logout(java.lang.String sessionId)
End the session with the given session id (if session is already
finished, do nothing).
|
static void |
removeInactiveSessions()
Performs a logout for all users, where the http session is expired.
|
static void |
removePendindActions() |
static void |
removePendingAction(short type,
java.lang.String id) |
static void |
removeSession(java.lang.String sessionId) |
void |
sessionCreated(javax.servlet.http.HttpSessionEvent e) |
void |
sessionDestroyed(javax.servlet.http.HttpSessionEvent e) |
static void |
setLoginAllowed(boolean allow,
java.lang.String message) |
static void |
setSessionEventHandler(com.groiss.org.impl.UserSessionEventHandler seh) |
static void |
updateLastAccessOnSessions() |
public static final java.lang.String PENDING_INFO
public static final java.lang.String PENDING_ACTION
public static final short INFO
public static final short WARNING
public static void init()
public static java.lang.String login(User user, java.lang.String ip)
public static void setSessionEventHandler(com.groiss.org.impl.UserSessionEventHandler seh)
public static java.lang.String login(User user, java.lang.String ip, boolean interactive, short sessiontype)
public static IUserSession getSessionById(java.lang.String sessionId) throws java.lang.Exception
java.lang.Exception
public static void logout(java.lang.String sessionId) throws java.lang.Exception
java.lang.Exception
public static void logout(IUserSession sess) throws java.lang.Exception
java.lang.Exception
public static void removeSession(java.lang.String sessionId)
public static java.util.List<IUserSession> getActiveSessions()
public static int getActiveSessionCount()
public static java.util.List<IUserSession> getActiveSessions(java.lang.String node)
public static java.util.List<IUserSession> getConcurrentSessions()
public static int getMaxConcurrent(java.util.Date since, java.util.Date until)
public static java.util.List<IUserSession> getSessions(java.lang.Boolean active, java.util.Date since, java.util.Date until, User u)
active
- if True show only active userssince
- login since this timestampuntil
- logins until this timestampu
- only for this userpublic static java.util.List<IUserSession> getSessions(java.lang.Boolean active, java.util.Date since, java.util.Date until, User u, int lastaccess)
public static boolean isLoggedIn(User user)
public static void setLoginAllowed(boolean allow, java.lang.String message) throws java.io.IOException
java.io.IOException
public static int getConcurrentUsers()
public static boolean isLoginAllowed()
public static java.lang.String getLoginMessage()
public static void removeInactiveSessions()
public static void updateLastAccessOnSessions()
public static void initSessions()
public void sessionCreated(javax.servlet.http.HttpSessionEvent e)
sessionCreated
in interface javax.servlet.http.HttpSessionListener
public void sessionDestroyed(javax.servlet.http.HttpSessionEvent e)
sessionDestroyed
in interface javax.servlet.http.HttpSessionListener
public void attributeAdded(javax.servlet.http.HttpSessionBindingEvent ev)
attributeAdded
in interface javax.servlet.http.HttpSessionAttributeListener
public void attributeRemoved(javax.servlet.http.HttpSessionBindingEvent ev)
attributeRemoved
in interface javax.servlet.http.HttpSessionAttributeListener
public void attributeReplaced(javax.servlet.http.HttpSessionBindingEvent ev)
attributeReplaced
in interface javax.servlet.http.HttpSessionAttributeListener
public static void deleteUserSessions(int days) throws java.lang.Exception
java.lang.Exception
public static boolean addPendingAction(short type, java.lang.String id, java.lang.String message)
public static boolean addPendingAction(short type, java.lang.String id, java.lang.String message, java.lang.String cause)
type
- either INFO or WARNINGid
- the id of the action, it is used to remove actions.message
- the already translated message a HTML textcause
- a cause for the actionpublic static boolean hasPendingAction(short type, java.lang.String id)
type
- either INFO or WARNINGid
- the id of the action.@Deprecated public static boolean addRestartAction()
public static boolean addRestartAction(java.lang.String cause)
public static void removePendingAction(short type, java.lang.String id)
public static void removePendindActions()
public boolean isActiveSession(java.lang.String userSessionId)
isActiveSession
in interface com.groiss.servlet.impl.UserSessionManager
public void invalidateHttpSessionCookie(javax.servlet.http.HttpSession s, javax.servlet.http.HttpServletResponse res)
invalidateHttpSessionCookie
in interface com.groiss.servlet.impl.UserSessionManager
public static java.lang.String findHttpSessionId(java.lang.String userSessionId)
public static javax.servlet.http.HttpSession findHttpSession(java.lang.String httpSessionId)
public static java.util.Map<java.lang.Long,UserSessionManager.SessionState> getSessionStates(User user)
public void contextInitialized(javax.servlet.ServletContextEvent sce)
contextInitialized
in interface javax.servlet.ServletContextListener
public void contextDestroyed(javax.servlet.ServletContextEvent sce)
contextDestroyed
in interface javax.servlet.ServletContextListener
@enterprise 9.0.33982 Copyright © 2001-2023 Groiss Informatics GmbH. All Rights Reserved.