¿Cómo puedo configurar Tomcat para que siempre dirija a index.jsp después de iniciar sesión?

StackOverflow https://stackoverflow.com/questions/134263

  •  02-07-2019
  •  | 
  •  

Pregunta

Actualmente, el soporte de inicio de sesión de Tomcat redirige a los usuarios al lugar donde se encontraban inicialmente cuando la aplicación descubrió que no estaban conectados.

Para esta aplicación en particular, necesito obligarlos a volver siempre al index.jsp .

Estoy bastante seguro de que esta es una opción de configuración simple en web.xml de WAR, pero no he encontrado la respuesta en google.

¿Fue útil?

Solución

Una mejor solución probablemente sería utilizar un filtro de servlet. Luego, puede buscar j_username / j_password y un inicio de sesión exitoso y redirigirlos a donde quiera que vayan.

Otros consejos

Es algo que no se puede configurar en web.xml ya que no es parte del estándar. Para Tomcat (probado en la versión 6.0.14) puede forzar a los usuarios a index.jsp agregando el siguiente código en la parte superior de su login.jsp. Redirige todas las solicitudes que no tienen un parámetro con el nombre 'login' en la url a la página /index.jsp?login. Debido a que la redirección tiene el parámetro 'inicio de sesión', al usuario se le presentará la página de inicio de sesión.

No es una solución segura. Si alguien solicita una página y agrega el parámetro de inicio de sesión, será redirigido. Entonces:

/ showPerson? id = 1234 se redireccionará a /index.jsp?login

/ showPerson? id = 1234? el inicio de sesión NO se redireccionará a /index.jsp?login

El código que va encima de tu login.jsp:

<%
if (request.getParameter("login") == null) {
    response.sendRedirect(request.getContextPath() + "/index.jsp?login");
    return;
}
%>

En lugar de usar el parámetro 'inicio de sesión', probablemente podría usar una cookie. Puede hacerlo más seguro al crear un valor aleatorio para el parámetro de inicio de sesión (inicio de sesión = valor aleatorio) y almacenar el valor en el objeto de la sesión para comparar.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top