1

我们的产品客户正试图直接登录到我们的安全页面之一。

login url="https://" + anIp + ":5443/om";

GetMethod authget = new GetMethod(url);
..
Header cookie = authget.getResponseHeader("Set-Cookie");

登录页面的 cookie(J-session id)保存在 cookie 中,这在第二次获取中再次用于访问登录页面之后的第二个页面的一些信息。

第二页url=https://" + anIp + ":5443/om/service.do?action=listservice

注意:两个页面都是安全的(https)。问题是:在 tomcat5.5 上,我们观察到两个 cookie 是相同的。但是在 tomcat 6.0 上,当我们尝试使用第一个 cookie 访问第二个页面时,它不起作用。我们观察到,即使导航是从 https 页面到另一个 https(仅)页面,cookie 在 6.0 上也发生了变化。我无法弄清楚 6.0 中有什么问题。从 5.5 到 6.0 tomcat 的 cookie 管理是否有任何变化。如果有人知道这件事,请告诉我。

4

1 回答 1

2

当您跨越身份验证边界(例如,您输入用户名和密码)时,Tomcat 的最新版本会更改会话 ID。这是为了防止会话固定攻击。

如果您有一个正在跟踪会话 ID 的客户端,那么您需要持续跟踪会话 ID,为每个包含 JSESSIONID cookie 的响应更新您的会话 ID。

于 2012-07-27T14:06:59.700 回答