java - session Cookie 和 IE 8

标签 java internet-explorer tomcat sessionid

我最近构建了一个部署在 Tomcat 上的简单网络应用程序。该应用程序使用非常标准的基于 session 的安全性,已登录的用户将获得一个 session 。

session 在 Firefox 和 Chrome 中运行良好,但需要在 IE 的 URL 中使用 jsessionid(测试 7 和 8),设置为中等隐私。在 IE 8 中,我试图覆盖 cookie 处理,设置“允许所有第 3 方 cookie”和“允许所有 session cookie”——没有骰子。但是,当我在本地计算机上运行 Tomcat 时,IE 接受 cookie,并且 session 工作正常。

现在,对于 HTTP header 。

在 Chrome 中,登录用户获得一个 session

GET http://devl:8080/testing/ HTTP/1.1
Host: devl:8080
Connection: keep-alive
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/532.5 (KHTML, like Gecko) Chrome/4.1.249.1036 Safari/532.5
Accept: application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Accept-Encoding: gzip,deflate,sdch
Accept-Language: en-US,en;q=0.8
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3

HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
P3P: CP="NON CURa ADMa DEVa TAIa OUR BUS IND UNI COM NAV INT STA"
Set-Cookie: JSESSIONID=9280023BCE2046F32B13C89130CBC397; Path=/testing
Content-Type: text/html;charset=UTF-8
Content-Language: en-US
Content-Length: 2450
Date: Fri, 26 Mar 2010 14:14:40 GMT

GET http://devl:8080/testing/logout HTTP/1.1
Host: devl:8080
Connection: keep-alive
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/532.5 (KHTML, like Gecko) Chrome/4.1.249.1036 Safari/532.5
Referer: http://devl:8080/testing/
Accept: application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Accept-Encoding: gzip,deflate,sdch
Accept-Language: en-US,en;q=0.8
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3
Cookie: JSESSIONID=9280023BCE2046F32B13C89130CBC397

...

从 IE 8 开始,具有标准的中级安全性和隐私性-

GET http://devl:8080/testing/ HTTP/1.1
Accept: application/x-ms-application, image/jpeg, application/xaml+xml, image/gif, image/pjpeg, application/x-ms-xbap, */*
Accept-Language: en-US
User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Win64; x64; Trident/4.0; .NET CLR 2.0.50727; SLCC2; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; MDDC; Tablet PC 2.0)
UA-CPU: AMD64
Accept-Encoding: gzip, deflate
Host: devl:8080
Connection: Keep-Alive

HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
P3P: CP="NON CURa ADMa DEVa TAIa OUR BUS IND UNI COM NAV INT STA"
Set-Cookie: JSESSIONID=192999F922D6E9C868314452726764BA; Path=/testing
Content-Type: text/html;charset=UTF-8
Content-Language: en-US
Content-Length: 2450
Date: Fri, 26 Mar 2010 14:32:34 GMT

GET http://devl:8080/testing/logout HTTP/1.1
Accept: application/x-ms-application, image/jpeg, application/xaml+xml, image/gif, image/pjpeg, application/x-ms-xbap, */*
Referer: http://devl:8080/testing/;jsessionid=6371A83EFE39A46997544F9146AA5CEA
Accept-Language: en-US
User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Win64; x64; Trident/4.0; .NET CLR 2.0.50727; SLCC2; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; MDDC; Tablet PC 2.0)
UA-CPU: AMD64
Accept-Encoding: gzip, deflate
Connection: Keep-Alive
Host: devl:8080

...

我认为它可能是 P3P,但在添加紧凑策略后,没有任何变化。这是标准的 Tomcat session ,所以我真的很惊讶到目前为止我还没有找到其他有同样问题的人。有人有什么想法吗?

编辑 2010 年 4 月 3 日 -

抱歉,如果我没有说清楚 - 我已经从多个其他 IE 实例中尝试过 - 大厅里的同事等。

编辑 2010 年 4 月 3 日 -

我也试过打开所有 cookie 的提示,但我没有收到提示。使用 Fiddler 在“Set-Cookie” header 中设置域也没有什么不同。

最佳答案

我遇到了这个确切的问题,挖了一会儿,发现了这个:

http://forums.iis.net/p/1147938/1879164.aspx

里面说带下划线的域名会导致Windows Server、tomcat和IE出现问题

不确定这是否能解决您的问题(此时,您可能不在乎)但也许下一个出现的人可以从中获得一些值(value)。

关于java - session Cookie 和 IE 8,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2524251/

相关文章:

java - MongoDB - 如何将位置插入集合

css - IE11 使用 svg 作为背景图像失败

javascript - 无法请求使用 JQuery 将 GET API 部署到本地 Tomcat 服务器?

php - 我应该为 Solr : Tomcat or Jetty? 使用哪个 servlet 容器

java - log4j 1 到 log4j 2 属性文件

java - 如何将图像流式传输到 Amazon S3

javascript - 如何使用 javascript (jquery) 替换列表中图像的 src?

html - <!--[如果 IE]> 不工作

java - 如何在java中从一个应用程序获取tomcat web绝对路径到centos中的另一个应用程序?

java - 显示 JButton 图像和类之间的通信