如何将Tomcat配置为在登录后始终指向index.jsp?

时间:2008-09-25 16:11:35

标签: tomcat java-ee login

目前,当应用程序发现用户未登录时,Tomcat的登录支持会将用户重定向回原来的位置。

对于这个特定的应用程序,我需要强制它们始终返回index.jsp

我很确定这是WAR web.xml中的一个简单配置选项,但我在google中找不到答案。

2 个答案:

答案 0 :(得分:2)

更好的解决方案可能是使用servlet过滤器。 然后,您可以检查j_username / j_password,并成功登录并将它们重定向到您希望它们前往的位置。

答案 1 :(得分:-1)

这是你无法在web.xml中配置的东西,因为它不是标准的一部分。对于Tomcat(在6.0.14版本上测试),您可以通过在login.jsp之上添加下一个代码来强制用户返回index.jsp。它会将每个没有参数且名称为“login”的请求重定向到/index.jsp?login页面。由于重定向确实具有'login'参数,因此将向用户显示登录页面。

这不是一个安全的解决方案。如果有人请求页面并添加登录参数,他将被重定向。所以:

/ showPerson?id = 1234将重定向到/index.jsp?login

/ showPerson?id = 1234?login不会重定向到/index.jsp?login

login.jsp上的代码:

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

您可能可以使用Cookie,而不是使用'login'参数。您可以通过为login参数(login = randomvalue)创建随机值并将值存储在会话对象中进行比较来使其更安全。