IE浏览器环境下Session跨域丢失的问题

[b][size=large]问题背景[/size][/b]:
我在A应用的index.jsp中有一个iframe。该iframe的src指向了B应用下的某个功能URL。(PS:A/B应用已实施了SSO单点登录方案)在FireFox和Chrome浏览器下访问不会存在任何问题,但是在IE下便会出现单点登录B应用失败的问题,即iframe无法正常展现B应用的功能页面。
[b][size=large]问题分析[/size][/b]:
究其原因,就是IE下iframe把session丢失了。[b][color=red]问题根源在于:IE支持的P3P(Platform for Privacy Preferences Project (P3P) specification)协议默认阻止第三方无隐私安全声明的cookie[/color][/b],Firefox和Chrome目前还不支持P3P安全特性,自然也不存在此问题了。
[b][size=large]解决方案[/size][/b]:
在B应用下配置一个filter,加入一行代码即可:

response.addHeader("P3P","CP=CAO PSA OUR");

[color=indigo]([b]PS : 只有在iframe跨域的情况下才会出现session丢失问题。否则不会出现。[/b])[/color]
That's all !
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值