Programación en castellano
Inicio > Foros > Java (Servlets y JSP) > Cerrar Sesion con objeto Session
-Foros de debate

Java (Servlets y JSP)
Lista de foros | Lista de mensajes de este foro

Privacidad: Recuerde que la información escrita en los foros de programación es 100% pública y que su ip será registrada asociada a su mensaje. Si encuentra un mensaje fuera de lugar, por favor, notifiquelo para su revisión y eliminación.

Cerrar Sesion con objeto Session
Enviado por Soraya el día 20 de enero de 2004

Hola chic@s....

Tengo un problemilla de nada, con el objeto session y el metodo setAttribute("usuario").

En mi web, hay un log out, es decir un cerrar session para conectarte como otro usuario, cuando inicias la web, te identificas y guardas en un atributo de session llamado "usuario", un identificador de usuario

session.setAttribute("usuario",id);

cuando quieres terminar la session, llamas al enlace log out, y en este he puesto

session.setAttribute("usuario",null);

el problema es que cuando introduzco un nuevo id de usuario, en algunos link de mi menu, me los coge con ese nuevo id, y en otros con el anterior, como que la sesion no ha sido cerrada realmente (como si se quedara en caché)...

Teneis idea de como resolverlo por favor...

Se que si le digo que cierre la ventana del explorador, evidentemente ya no hay session, pero yo no crero que sea necesario tener que cerrarla.

El servidor es Tomcat, y esta programado en un jsp

Gracias por todo y por adelantado a la amable persona que se preste a ayudarme.

Salu2.

 
Re: Cerrar Sesion con objeto Session
Enviado por jimaz el día 20 de enero de 2004

Existe un metodo de la sesion removeAttribute()

Ejem de tu caso: session.removeAttribute("usuario")

Esto lo que hace elimina la variable de la sesion.
Despues podrias crear la misma con otro valor.

Agur.

 
Re: Re: Cerrar Sesion con objeto Session
Enviado por soraya el día 20 de enero de 2004

Si, muchas gracias, pero eso era lo qeu tenía puesto en un principio y sigue ocurriendome lo mismo, no hay otro modo???? Es por el servidor Tomcat???

 
Re: Re: Re: Cerrar Sesion con objeto Session
Enviado por Fernando23 el día 21 de enero de 2004

Es muy fácil. Sólo tienes que establecer el objeto HttpSession a null (session = null;). De esta forma "borras" el objeto HttpSession, quedando anulada la sesión hasta la próxima vez que se inicie de nuevo (HttpSession session = request.getSession( true ); session.setAttribute( "id", id );).
Un saludo.

 
Re: Re: Re: Re: Cerrar Sesion con objeto Session
Enviado por pokegus81 el día 21 de enero de 2004



session.invalidate();

 
Re: Re: Re: Re: Re: Cerrar Sesion con objeto Session
Enviado por ricardo el día 3 de junio de 2008

he probado todo lo que vi en este foro y no funciona... bueno mi problema esta en que le doy logout y obvio mata la sesion supongo... y luego me lleva a la pagina por defecto que puse para cuando se cierre sesion... pero le di atras en el explorador.. y la sesion sigue intacta

 
Re: Re: Re: Re: Re: Re: Cerrar Sesion con objeto Session
Enviado por emiarmando el día 12 de junio de 2008

Al iniciar tu pagina o tu Action, segun sea tu arquitectura, debes de preguntar si existe la sesion, p.e.
//Obtiene session
HttpSession login = request.getSession();
if (login.getAttribute("usuario") == null) {
// aqui redireccionas a tu pagina de salida

 







Tienda
Patrocinados
 

Copyright © 1999-2007 Programación en castellano. Todos los derechos reservados.
Formulario de Contacto - Datos legales - Publicidad

Hospedaje web y servidores dedicados linux por Ferca Network

red internet: musica mp3 | logos y melodias | hospedaje web linux | registro de dominios | servidores dedicados
más internet: comprar | recursos gratis | posicionamiento en buscadores | tienda virtual | gifs animados