private void purgeInactiveSessions() { Set<Map.Entry<String, SessionData>> activeSessionsSet = activeSessions.entrySet(); for (Map.Entry<String, SessionData> entry : activeSessionsSet) { if (!entry.getValue().isSessionActive()) { activeSessionsSet.remove(entry); } } }
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; }
/** * @return true if session is still active and the request is from same remote address as the one session was * initiated from */ public boolean authenticate(final String remoteAddress) { return isSessionActive() && (clientAddress.equals(remoteAddress) || disableRemoteAddressValidation ); }
private void purgeInactiveSessions() { Set<Map.Entry<String, SessionData>> activeSessionsSet = activeSessions.entrySet(); for (Map.Entry<String, SessionData> entry : activeSessionsSet) { if (!entry.getValue().isSessionActive()) { activeSessionsSet.remove(entry); } } }
private void saveSession(String sessionId, String remoteAddr, final Subject subject, final int sessionTimeoutInMins) { purgeInactiveSessions(); activeSessions.put(sessionId, new SessionData(sessionId, remoteAddr, subject, sessionTimeoutInMins) ); }
/** * @return true if session is still active and the request is from same remote address as the one session was * initiated from */ public boolean authenticate(final String remoteAddress) { return isSessionActive() && (clientAddress.equals(remoteAddress) || disableRemoteAddressValidation ); }
private void saveSession(String sessionId, String remoteAddr, final Subject subject, final int sessionTimeoutInMins) { purgeInactiveSessions(); activeSessions.put(sessionId, new SessionData(sessionId, remoteAddr, subject, sessionTimeoutInMins) ); }