【问题标题】:Tomcat 7 within TomEE Not Maintaining Session; JSESSIONID cookie not being sentTomEE 中的 Tomcat 7 不维护会话; JSESSIONID cookie 未发送
【发布时间】:2015-01-02 02:39:17
【问题描述】:

我们使用的是 TomEE 1.7.0,它使用的是 Tomcat 7.0.55。当我们部署我们的应用程序时,会话不会被维护——每次从浏览器访问应用程序时,服务器都会创建一个新会话,因此任何会话变量(如身份验证等)都会丢失。我们跟踪了 HTTP 请求,问题似乎是 JSESSIONID cookie 被发送回浏览器,但没有被发送回服务器。在 Internet Explorer 中,Fiddler 显示请求标头的“Cookies/Login”部分是“DNT: 1”,而在 Chrome 中,它只是空的。如果我运行完全相同的应用程序,在早期版本的 Tomcat 中使用完全相同的浏览器,它可以完美运行——我们可以访问会话,我们可以看到 JSESSIONID cookie 正确地来回发送。这使我们相信它是在 Tomcat 服务器中而不是在浏览器配置中。

我们被困在这里;有人有什么想法吗?提前致谢。

【问题讨论】:

    标签: java session tomcat apache-tomee


    【解决方案1】:

    回答我自己的问题,以防有人遇到同样的问题!

    问题在于 Tomcat 7 现在已配置为将所有 cookie 作为安全发回,因此在我们的非安全开发环境中,没有存储 JSESSIONID cookie。解决方法是进入server.xml文件,找到非安全连接器,在开发中去掉secure="true"属性。

    【讨论】:

      猜你喜欢
      • 2018-01-20
      • 2011-04-28
      • 2011-03-03
      • 2015-01-09
      • 1970-01-01
      • 2017-11-09
      • 2014-10-06
      • 2015-07-13
      • 2018-01-08
      相关资源
      最近更新 更多