iframe跨域访问session丢失问题解决办法

来源:互联网 发布:精神出轨 知乎 编辑:程序博客网 时间:2024/05/20 10:11
情景
1、需要在稽核系统中访问翼支付系统功能,使用iframe包含翼支付中菜单连接来实现。但是在系统第一次访问的时候总是提示“当前登录用户已经过期,请注销后重新登录”。

原因
1、经过跟踪调试发现,是由于session丢失引起的,session丢失了取不到里面的usersession过滤器拦截到后就认为没有登录。

解决办法
1、通过设置p3p头来解决,代码如下,以下4种都行,我用的第一种:
this.getResponse().setHeader("P3P","CP='IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT'");
this.getResponse().addHeader("P3P","CP=CAO PSA OUR");
this.getResponse().setHeader("P3P","CP=\"NON DSP COR CURa ADMa DEVa TAIa PSAa PSDa IVAa IVDa CONa HISa TELa OTPa OUR UNRa IND UNI COM NAV INT DEM CNT PRE LOC\"");
this.getResponse().setHeader("P3P","CP='CURa ADMa DEVa PSAo PSDo OUR BUS UNI PUR INT DEM STA PRE COM NAV OTC NOI DSP COR'");