Session Timeout

Maracuchom
12 de Mayo del 2006
Hola, tengo un pequeño problema con la expiración del tiempo en mi aplicación, yo coloco el sessiion timeout en el archivo web.xml, lo que necesito hacer es llamar un procedimiento que desauntentique con sistemas externos cuando este tiempo ha expirado, por eso el procedimiento primero desaunteticaría y luego invalidaria la sesión.

Si me pueden responder al email sería mejor: [email protected]

nicokiki
12 de Mayo del 2006
Hola!!!!!!!1

Busca por el lado de SessionListener . Tenes dos metodos, sessionCreate (o activate) y sessionDestroy (o algo asi) y ahi haces lo q queres. O sea, implementas SessionListener, los pones en el XML correspondiente y listo

Salu2!!!!!!!!

nicokiki
12 de Mayo del 2006
Hola!!!

Va un ejemplo:

/** Clase que implementa un Listener para detectar cuando "cae" la session para que de esa manera se libere lo tomado
* por aquel usuario a la que se le "cayo" la session.
* @author ngonzalez */

public class ConcurrentSessionManager implements HttpSessionListener{
private TecoLogger logger;

/** No se implementa debido a que no se utilizara
* @param arg0 - */
public void sessionCreated(HttpSessionEvent arg0) {
}

/** Intenta liberar las pantallas tomadas por este usuario
* @param arg0 - */
public void sessionDestroyed(HttpSessionEvent arg0) {
try {
logger = TecoLogger.getLogger(this.getClass());
} catch (TecoLoggerException e) {
e.printStackTrace();
}
HttpSession session = arg0.getSession();
logger.info("sessionDestroyed()->", "Deslockeando tablas de sessionId: " + session.getId() + "...");

ConcurrentHelper helper = ConcurrentHelper.getInstancia();

helper.desLockear(session.getId());
}

}


Salu2!!!!!!!!!!

Maracuchom
12 de Mayo del 2006
Gracias por sus respuestas, pero sigo con una duda, al capturar el evento de sesión, como hacer para redirigir el browser del usuario a una nueva dirección?

discolo
12 de Mayo del 2006
Con filtros, es lo más seguro y más sencillo.