Foros del Web » Programación para mayores de 30 ;) » Java »

Invalidar sesion en JSP

Estas en el tema de Invalidar sesion en JSP en el foro de Java en Foros del Web. Hola! Tengo un problema tratando de invalidar la sesion correctamente. mi login.jsp empieza pidiendo usuario y contraseña y si esta en la bd te envia ...
  #1 (permalink)  
Antiguo 16/05/2009, 05:29
 
Fecha de Ingreso: octubre-2007
Mensajes: 6
Antigüedad: 16 años, 6 meses
Puntos: 0
Invalidar sesion en JSP

Hola!

Tengo un problema tratando de invalidar la sesion correctamente. mi login.jsp empieza pidiendo usuario y contraseña y si esta en la bd te envia a otro jsp.
El caso es que despues de invalidar la sesion, si intento acceder al segundo jsp directamente desde la url, la sesión sigue ahí y no se ha destruido...
el codigo para invalidar la sesion es muy simple:

<%
HttpSession sesion = request.getSession(false);
if( sesion != null ) {
// invalidating a session destroys it
sesion.invalidate();
}
%>


y en el 2º jsp compruebo que sea valida:

<% HttpSession sesionOK = request.getSession(false);
if (sesionOK != null)
{
if (sesionOK.getAttribute("usuario") != null)
{
//acciones....

}
}%>


Creo adivinar que es el browser quien esta guardando la informacion de la sesion de alguna manera, ¿alguien sabe como evitar el problema?

Gracias!!!!!!!!!
  #2 (permalink)  
Antiguo 16/05/2009, 05:47
 
Fecha de Ingreso: noviembre-2008
Mensajes: 115
Antigüedad: 15 años, 5 meses
Puntos: 4
Respuesta: Invalidar sesion en JSP

Podrias guardar como atributo de sesion ese nombre de usuario (request.getSession().setAttribute("nombreUsuario" , nombreUsuario), y al hacer logout borrarlo (request.getSession.removeAttribute(nombreUsuario) , y luego en vez de comprobar si existe sesion o no, compruebas que haya un nombre de usuario distinto de null (if(request.getSession.getAttribute(nombreUsuario) !=null){...)
  #3 (permalink)  
Antiguo 16/05/2009, 11:06
 
Fecha de Ingreso: octubre-2007
Mensajes: 6
Antigüedad: 16 años, 6 meses
Puntos: 0
Respuesta: Invalidar sesion en JSP

Hola Jesus, he probado a borrar el atributo usuario antes de invalidar la sesión, pero no he conseguido nada, al poner la url directamente sigue cogiendo la sesion de algun sitio y el usuario no se ha borrado

A proposito, utilizo

<%@ page session="false" contentType="text/html" %>
al principio de la pagina jsp.

Estoy seguro de que las paginas se quedan en la cache del navegador y por eso puedo volver sin loguearme. ¿Sabéis de algun script para evitar que queden en la cache?

Gracias y saludos!!!

Última edición por Ciezo; 16/05/2009 a las 11:12
  #4 (permalink)  
Antiguo 18/05/2009, 04:23
Avatar de elAntonie  
Fecha de Ingreso: febrero-2007
Mensajes: 894
Antigüedad: 17 años, 2 meses
Puntos: 10
Respuesta: Invalidar sesion en JSP

Wenas.

session.invalidate().

Saludos.
  #5 (permalink)  
Antiguo 17/09/2010, 00:36
 
Fecha de Ingreso: septiembre-2010
Mensajes: 41
Antigüedad: 13 años, 7 meses
Puntos: 0
Respuesta: Invalidar sesion en JSP

hay que tener cuidado al usar el metodo invalidate(), esto porque elimina todas las sesiones, y perjudica cuando guardamos objetos java en una variable sesion...
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:53.