public String createSession(String remoteAddr, final Subject subject, final int sessionTimeoutInMins) { String sessionId; do { sessionId = new BigInteger(130, randomGenerator).toString(16); } while(isSessionExist(sessionId)); saveSession(sessionId, remoteAddr, subject, sessionTimeoutInMins); return sessionId; }
private void saveSession(String sessionId, String remoteAddr, final Subject subject, final int sessionTimeoutInMins) { purgeInactiveSessions(); activeSessions.put(sessionId, new SessionData(sessionId, remoteAddr, subject, sessionTimeoutInMins) ); }
@Override public boolean identify(final Subject subject) throws LoginException { if (restSessionManager == null) { return false; } boolean result = false; final String token = restTokenCB.getText(); final String remoteAddr = remoteAddrCB.getText(); if (token != null && remoteAddr != null) { final Subject s = restSessionManager.authenticate(token, remoteAddr); if (s != null) { result = true; updateFromSubject(subject, s); logger.log(PROGRESS_LEVEL, "Detected ReST token"); } } return result; } }
public String createSession(String remoteAddr, final Subject subject, final int sessionTimeoutInMins) { String sessionId; do { sessionId = new BigInteger(130, randomGenerator).toString(16); } while(isSessionExist(sessionId)); saveSession(sessionId, remoteAddr, subject, sessionTimeoutInMins); return sessionId; }
private void saveSession(String sessionId, String remoteAddr, final Subject subject, final int sessionTimeoutInMins) { purgeInactiveSessions(); activeSessions.put(sessionId, new SessionData(sessionId, remoteAddr, subject, sessionTimeoutInMins) ); }
public Subject authenticate(final String sessionId, final String remoteAddress) { Subject result = null; boolean authenticated = false; purgeInactiveSessions(); if(sessionId != null) { SessionData sessionData = activeSessions.get(sessionId); if(sessionData != null) { authenticated = sessionData.authenticate(remoteAddress); if(authenticated) { // update last access time sessionData.updateLastAccessTime(); result = sessionData.subject(); } else { activeSessions.remove(sessionId); } } } return result; }
public Subject authenticate(final String sessionId, final String remoteAddress) { Subject result = null; boolean authenticated = false; purgeInactiveSessions(); if(sessionId != null) { SessionData sessionData = activeSessions.get(sessionId); if(sessionData != null) { authenticated = sessionData.authenticate(remoteAddress); if(authenticated) { // update last access time sessionData.updateLastAccessTime(); result = sessionData.subject(); } else { activeSessions.remove(sessionId); } } } return result; }