目前 Tomcat 的登录支持将用户重定向到应用程序发现他们未登录时的初始位置。
对于这个特定的应用程序,我需要强制他们总是回到index.jsp
.
我很确定这是 WAR's 中的一个简单配置选项web.xml
,但我在 google 中没有找到答案。
目前 Tomcat 的登录支持将用户重定向到应用程序发现他们未登录时的初始位置。
对于这个特定的应用程序,我需要强制他们总是回到index.jsp
.
我很确定这是 WAR's 中的一个简单配置选项web.xml
,但我在 google 中没有找到答案。
更好的解决方案可能是使用 servlet 过滤器。然后,您可以检查 j_username / j_password,并成功登录并将他们重定向到您希望他们去的地方。
这是您无法在 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) 创建一个随机值并将该值存储在会话对象中进行比较来使其更安全。