`
wbj0110
  • 浏览: 1554143 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

cas ajax登录方式跨域时session丢失问题解决

阅读更多

问题:在ie浏览器下,域名A通过iframe的方式把登录信息post到域名为B的cas服务器上,经过debug发现A获取loginTicket时的sessionId和post过去时的sessionid不一致。只有ie浏览器有这个问题,火狐谷歌浏览器正常。

原因:查资料知道IE6/IE7支持的P3P(Platform for Privacy Preferences Project (P3P) specification)协议默认阻止第三方无隐私安全声明的cookie,火狐和谷歌目前还不支持P3P安全特性,所以它们不存在此问题了。

解决方法:在第一次获取loginTicket时在response中设置p3p声明,如下:

 

[java] view plaincopy
  1. response.setHeader("P3P""CP=CURa ADMa DEVa PSAo PSDo OUR BUS UNI PUR INT DEM STA PRE COM NAV OTC
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics