Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   Java (http://www.forosdelweb.com/f45/)
-   -   Borrar una Session en Java (http://www.forosdelweb.com/f45/borrar-session-java-584024/)

alexisad 07/05/2008 15:07

Borrar una Session en Java
 
Hola saludos a todos ...

Bueno mire yo en mi Proyecto
eh hehco que cuando se logee(index.jsp) va a login.jsp a ver si existe el usuario e la bd

Si existe se va a crear una session y va ala pag portada.jsp

ahi hay un link k va la pag loginoff para borra la session peor nose como hacerlo se k se crea
---login.jsp--
clLogin oLogin = new clLogin();
int existe = oLogin.ExisteUsuario(request.getParameter("txtusua rio"),
request.getParameter("txtpassword"));

if (existe!=0){

//Creamos la Session
HttpSession sesion = request.getSession(true);
String miusuario = request.getParameter("txtusuario");
session.setAttribute("Usuario",miusuario);

response.sendRedirect("ConsultaProdCuyes.jsp");
}
%>
------
muestro en la portada portada.jsp---------------
<% String miusuario =(String)session.getAttribute("Usuario");
if (miusuario==null){
response.sendRedirect("index.jsp");}
else{%>
<table width="250px" border="0">
<tr>
<td><b>Bienvenido,</b></td>
<td><b><%out.println(miusuario);%></b></td>
<td><a href="loginoff.jsp">[Cerrar Session]</a></td>
</tr>
</table>
<%}%>
--------------------------------------------

pero no se como elimianrlo , x k hay unas personas k lo eliminan d una forma ,...
k sta mal

x k sis e da cuenta que tal el usurio haga click en Atras del Navegador rretornarioa al Sistema online.. psx esta mal x k si cierra session ya no deberia retornar al sistema x k se elimino la session completa ....me entendi...

Alguna ayuda seria agradecida . gracias....

mi msn es [email protected]

asile 08/05/2008 04:13

Re: Borrar una Session en Java
 
pues yo lo eliminaba así
<%
if(session!=null) session.invalidate();
response.sendRedirect("../login.jsp");
%>

pero efectivamente si le das a "Atrás" en el navegador es como si no hubieras invalidado la sesion :s

goncafa 08/05/2008 07:32

Re: Borrar una Session en Java
 
Si para validar que el usuario esta en sesison solo preguntas si el usuario viene null podrias simplemente colocar un

Código PHP:

session.setAttribute("usuario"null); 


alexisad 08/05/2008 07:52

Re: Borrar una Session en Java
 
Goncafa .. haber explicame mas porfavor... nose si te entendi bien .. quieres kc uando vaya al loginoff.jsp le de el valor a la session de null, para kc audno de atras .. no permita volver a ingresara l sistema.-

please necesito mas ayuda.. gracias ah gracias asile por apoyarme cual kier cosa cuenten conmigo.. bye saludos..espero su respuesta..


Ah tambien nose si se han dado cuenta. bueno ya k cuanot el usuario desea cerrar session..una cosa es volver atras con el navegador.. pero tmb si copian la url d ela portadadel sistema y vuelven ah entrar colocandolo en la barra de url ..se daran cuenta k va a entrar , como e sposible eso si hemos eliminado la session....

No kreo k no se pueda borrar una session completamente no=???

asile 08/05/2008 10:12

Re: Borrar una Session en Java
 
Bueno pues haciendo pruebas en mi proyecto he visto que con el código que te puse antes funciona bien
Si le das a atrás en el navegador, te carga la página que tenias anteriormente, pero si pruebas a darle a alguna de las opciones que solo pueda hacer si estas registrado no te permite hacerlas.
En las páginas que tengo restringido el acceso tengo esto:

<%
String login = (String)session.getAttribute("login");
if(login==null)
{
response.sendRedirect("./login.jsp");
}
%>

espero que te sirva :D

drac94 08/05/2008 18:00

Re: Borrar una Session en Java
 
lo que deberias hacer es una pagina extra para cerrar la sesion en donde limpies todos los atributos de sesion y luego la invalidas y ya despues lo redireccionas a la pagina principal
asi mas o menos:

<%
HttpSession sesion = request.getSession();
sesion.setAttribute("atributo1","");
sesion.setAttribute("atributo2","");
.
.
.
sesion.invalidate();
response.sendRedirect("index.jsp");
%>

con eso creo que se resuelve tu problema, bye

ericaadbr 09/05/2008 15:28

Re: Borrar una Session en Java
 
fijate, yo tengo el mismo problema cuando voy atras en el explorador, pero como te dijeron anteriormente cuando le das en cualquier opción luego te dice q la sesion ya ha sido invalidada.

yo me imagine cuando eso ocurre que cuando tu le das atras fijate q el so no vuelve a pedir la pagina, la busca en historial, por lo que no chequea si la sesion esta iniciada o no.

ese es el problema con cuando le das atras. o por lo menos fue lo que a mi se me ocurrio

goncafa 09/05/2008 15:38

Re: Borrar una Session en Java
 
Sin embargo puedes desactivar el cache de la pagina, para que no te quede almacenada, es decir, obligas al explroador a recargarla cada vez que vuelves a ella.

Código PHP:

response.setHeader("Cache-Control","no-store"); 


asile 10/05/2008 04:25

Re: Borrar una Session en Java
 
Cita:

Iniciado por goncafa (Mensaje 2397827)
Sin embargo puedes desactivar el cache de la pagina, para que no te quede almacenada, es decir, obligas al explroador a recargarla cada vez que vuelves a ella.

Código PHP:

response.setHeader("Cache-Control","no-store"); 


pues yo he puesto esa linea en mi codigo y sigue haciendo lo mismo. Si le doy a atrás me muestra la página anterior, pero si le doy a alguna opción ya me dice que no estoy autenticada

alexisad 13/05/2008 08:38

Re: Borrar una Session en Java
 
Gracias si me sirvio.. bueno voy a ver la forma como cuando le den click Atras no retorne al Sistema psx ok y luego lo comparto con uds. Bye cuidense suerte .. les dejo mi correo para cualkier consulta. [email protected]


La zona horaria es GMT -6. Ahora son las 14:20.

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.