【问题标题】:Session values not stored in wicket application using Chrome会话值未使用 Chrome 存储在检票口应用程序中
【发布时间】:2011-06-07 11:26:22
【问题描述】:

我们的 wicket 应用程序有以下场景:

  • 在会话中保存 myValue
  • 将用户重定向到外部页面
  • 用户输入一些数据后,外部页面重定向回我们的 web 应用程序
  • 从会话中读取 myValue 并根据 myValue 做一些事情

在 Firefox 中一切正常,但在 Chrome 中却不行。当用户再次返回我们的检票口页面时,使用 Chrome 的 myValue 为 null。我的第一个猜测是必须创建一个新会话或者从未设置 myValue。我通过代码调试了一下,session id 完全一样……myValue 在用户被重定向之前也已经设置好了。

我不太明白 Chrome 和 Firefox 在将值保存到检票口会话时会有什么不同。或者离开网页并在 1 分钟后返回网页会突然导致不同类型的会话。

【问题讨论】:

  • 更新:它也适用于 Safari 和 IE .. Chrome 是唯一的浏览器,它不适用
  • JSESSIONID cookie 路径/数据/等都一样吗?
  • 你能发布相当小的代码并且有问题吗?
  • 您可以尝试在另一台机器上使用 Chrome,以确保问题不是由您的某些配置引起的。
  • 我在生产站点上遇到了类似的情况。 Chrome + Apache + mod_jk + Tomcat + Wicket 的一些奇怪组合导致组件从会话中删除,从而无法登录到我的应用程序。但只有 Chrome ......所有其他浏览器都运行良好。解决方案?添加一个 favicon.ico。我不骗你。绝对是 Chrome 中的一个错误...

标签: java session wicket


【解决方案1】:

您提到您的网站 --> 外部网站 --> 您的网站的用例是我在处理流程相同的 OAUTH 身份验证时遇到的,即我的网站 --> facebook -->我的网站。

我的解决方案是不依赖浏览器会话/cookie;我保留了重新加载会话所需的所有数据,并将用户连同一个密钥(用于识别缓存的会话信息)一起发送到 FB,并且还让 FB 将此密钥传递回我的应用程序,然后我用它来重新加载会话数据.

【讨论】:

    【解决方案2】:

    我完全不知所措,因为上面提到的网站图标解决方案对我有用。已经为此拉头发 3 年了,不敢相信修复如此简单。我已将此修复报告给 Chrome。

    我在 ContOS 5.7 中使用 Apache 2.2.14 前端 Tomcat 6.0.32。 Tomcat 托管一个 Java Struts 应用程序。简单添加

    <link rel="shortcut icon" href="/festival/images/ft_ico_2.ico"/>
    

    在每个jsp页面的所有head标签中。问题解决了!!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-06-06
      • 1970-01-01
      • 2011-07-18
      • 2016-06-16
      • 2020-10-31
      • 2019-07-13
      • 2015-03-12
      • 2013-12-23
      相关资源
      最近更新 更多