Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package org.jboss.seam.security.session;
- import javax.enterprise.event.Observes;
- import javax.inject.Inject;
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpSession;
- import org.jboss.seam.servlet.event.Destroyed;
- import org.jboss.seam.servlet.event.Initialized;
- public class SessionManagerImpl implements SessionManager
- {
- @Inject
- private SessionStore sessionStore;
- @Override
- public void register(Session session)
- {
- sessionStore.persist(session);
- }
- @Override
- public Session unregister(String id)
- {
- Session session = sessionStore.findById(id);
- if (session != null)
- {
- sessionStore.remove(session);
- }
- return session;
- }
- @Override
- public boolean isSessionRegistered(String id)
- {
- return sessionStore.sessionExists(id);
- }
- @Override
- public void invalidateSession(String sessionId)
- {
- Session session = sessionStore.findById(sessionId);
- if (session != null)
- {
- session.invalidate();
- sessionStore.persist(session);
- }
- }
- @Override
- public boolean isSessionValid(String sessionId)
- {
- Session session = sessionStore.findById(sessionId);
- if (session != null)
- {
- return session.isValid();
- }
- return false;
- }
- void sessionInit(@Observes @Initialized HttpSession session)
- {
- // TODO
- }
- void sessionDestroyed(@Observes @Destroyed HttpSession session)
- {
- unregister(session.getId());
- }
- void requestInit(@Observes @Initialized HttpServletRequest request)
- {
- HttpSession session = request.getSession(false);
- if (session != null)
- {
- if (!isSessionValid(session.getId()))
- {
- // session is marked as invalid. invalidate this session now.
- session.invalidate();
- }
- }
- }
- }
Add Comment
Please, Sign In to add comment