1 46 47 package org.mr.kernel.security; 48 49 import org.mr.kernel.security.authentication.MaximumNumberOfSessionsPerUserReached; 50 51 60 public class SessionManager { 61 private SessionMap _sessionMap; 62 private static SessionManager _instance; 63 64 private SessionManager(){ 65 _sessionMap = new SessionMap(); 66 } 67 68 73 public static SessionManager getInstance() { 74 if (_instance == null){ 75 synchronized(SessionManager.class){ 76 if (_instance == null) 77 _instance = new SessionManager(); 78 } 79 } 80 return _instance; 81 } 82 83 90 public void addSession(UserPrincipal user, SessionID sessionID) throws MaximumNumberOfSessionsPerUserReached { 91 _sessionMap.addSessionToUser(user, sessionID); 92 } 93 94 99 public void removeSession(SessionID sessionID){ 100 _sessionMap.removeSession(sessionID); 101 } 102 103 109 public UserPrincipal getPrincipal(SessionID sessionID){ 110 return _sessionMap.getPrincipal(sessionID); 111 } 112 113 119 public boolean contains(SessionID sessionID){ 120 return _sessionMap.contains(sessionID); 121 } 122 } 123 | Popular Tags |