seguimiento de usuarios
Publicado por nepthis (37 intervenciones) el 22/01/2007 19:59:54
Hola de nuevo!! Cuando creía que tenía dominada una cosa, me he dao cuenta de que falla y no sé ni cómo explicaros el asunto. Voy a intentarlo. Por favor, que alguien me explique cuál es el error porque yo no lo entiendo.
Mi usuario se tiene que autenticar para hacer cierta operacion. Para ello, desde una página con un formulario de autenticación llamo a un servlet, cuyo cógido doGet es el siguiente:
public void doGet ... {
Usuario usuario = new Usuario ();
HttpSession session = request.getSession(false);
if (session != null)
{
if ( ( nombre.equals(login ) ) & (clave.equals(password ) ) )
{
usuario.setRegistrado(true);
session.setAttribute ("usuario",usuario);
getServletConfig().getServletContext().getRequestDispatcher("/WEB-INF/menuAdmin.jsp").forward(request, response);
}
else
{
usuario.setRegistrado(false);
session.setAttribute ("usuario",usuario);
getServletConfig().getServletContext().getRequestDispatcher("/WEB-INF/errorUsuario.jsp").forward(request, response);
}
}
else
{
getServletConfig().getServletContext().getRequestDispatcher("/libreria/controlador?x=0").forward(request, response);
}
Controlador es un servlet que inicia sesión. Todas mis páginas pasan por este servlet que lo primero que hace es iniciar sesión.Esto lo necesito porque además del usuario tengo otras variables guardadas en la sesión, que uso en todas las páginas. Con el parámetro 0 consigo que redirija a la página de autenticación.
La página de menuAdmin, tiene (a la que accedes una vez autenticado)
<%@ page language="java" import="java.util.*" %>
<jsp:useBean id="usuario" class="libreria.Usuario" scope="session" />
<%
if ( (usuario.isRegistrado()) ){
%>
CODIGO DE LA PÁGINA
<%
}
else
{
response.sendRedirect("libreria/controlador?x=0");
}
%>
El caso, es que si añado esta página a favoritos, y cierro sesión, cuando intento acceder a ella, efectivamente me lleva a la página de autenticación (controlador?x=0), pero, cuál es mi sorpresa que si doy a refrescar, se carga la página menuAdmin!!
¿porqué hace esto? ¿dónde guarda algo para que si refrescas te muestre la página en lugar de llevarte contínuamente a controlador?x=0? que es lo que debería hacer.
Gracias por ayudarme.
Mi usuario se tiene que autenticar para hacer cierta operacion. Para ello, desde una página con un formulario de autenticación llamo a un servlet, cuyo cógido doGet es el siguiente:
public void doGet ... {
Usuario usuario = new Usuario ();
HttpSession session = request.getSession(false);
if (session != null)
{
if ( ( nombre.equals(login ) ) & (clave.equals(password ) ) )
{
usuario.setRegistrado(true);
session.setAttribute ("usuario",usuario);
getServletConfig().getServletContext().getRequestDispatcher("/WEB-INF/menuAdmin.jsp").forward(request, response);
}
else
{
usuario.setRegistrado(false);
session.setAttribute ("usuario",usuario);
getServletConfig().getServletContext().getRequestDispatcher("/WEB-INF/errorUsuario.jsp").forward(request, response);
}
}
else
{
getServletConfig().getServletContext().getRequestDispatcher("/libreria/controlador?x=0").forward(request, response);
}
Controlador es un servlet que inicia sesión. Todas mis páginas pasan por este servlet que lo primero que hace es iniciar sesión.Esto lo necesito porque además del usuario tengo otras variables guardadas en la sesión, que uso en todas las páginas. Con el parámetro 0 consigo que redirija a la página de autenticación.
La página de menuAdmin, tiene (a la que accedes una vez autenticado)
<%@ page language="java" import="java.util.*" %>
<jsp:useBean id="usuario" class="libreria.Usuario" scope="session" />
<%
if ( (usuario.isRegistrado()) ){
%>
CODIGO DE LA PÁGINA
<%
}
else
{
response.sendRedirect("libreria/controlador?x=0");
}
%>
El caso, es que si añado esta página a favoritos, y cierro sesión, cuando intento acceder a ella, efectivamente me lleva a la página de autenticación (controlador?x=0), pero, cuál es mi sorpresa que si doy a refrescar, se carga la página menuAdmin!!
¿porqué hace esto? ¿dónde guarda algo para que si refrescas te muestre la página en lugar de llevarte contínuamente a controlador?x=0? que es lo que debería hacer.
Gracias por ayudarme.
Valora esta pregunta


0