0

目前 Tomcat 的登录支持将用户重定向到应用程序发现他们未登录时的初始位置。

对于这个特定的应用程序,我需要强制他们总是回到index.jsp.

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

4

2 回答 2

2

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

于 2008-09-30T20:37:53.810 回答
-1

这是您无法在 web.xml 中配置的内容,因为它不是标准的一部分。对于 Tomcat(在 6.0.14 版上测试),您可以通过在 login.jsp 顶部添加下一个代码来强制用户返回 index.jsp。它将 URL 中没有名称为“login”的参数的每个请求重定向到 /index.jsp?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=randomvalue) 创建一个随机值并将该值存储在会话对象中进行比较来使其更安全。

于 2008-09-25T21:28:26.283 回答