【发布时间】:2011-08-09 08:01:37
【问题描述】:
这几天我们遇到了一个非常有趣的问题,我一直在追着尾巴试图解决它。我将不胜感激。
场景:
我们有一个 GWT Web 应用程序,在系统正常使用的某个阶段,用户可能需要输入密码才能访问应用程序的某个部分。我们通过显示一个对话框来做到这一点,该对话框包含一个带有 jsp 的 iframe,然后用户在其中输入他的密码。这被编码并发送到 jsp servlet,后者验证凭据,如果成功,则向应用程序发送一个 cookie,通知它验证成功。
问题:
当我们在本地开发环境中运行应用程序时,一切正常。请求会正确生成,并且 cookie 会完美发送。然而,当我们在我们的客户端测试环境(与我们的本地环境相同)中运行它时,它在 Firefox 上完美运行,但不适用于 Chrome 和 IE。 (我们确实采取了确切的战争并在两个地方都放弃了)。
一些数据包嗅探似乎表明 jsp servlet 在服务器端生成的 cookie
response.addCookie(cookie);
永远不会到达 Chrome 或 IE,但它适用于 Firefox。
我们在服务器端的跟踪表明正确的请求确实到达了 servlet,并且所有浏览器每次都运行相同的代码。
有没有人遇到过类似的问题?我们的技术适用栈是:
- Java 1.6
- GWT 2.2.0
- Apache Tomcat 7.0.8
谢谢!
【问题讨论】: