使用p3p解决iframe中跨域传递cookie的问题

昨天在做一个集成的时候 发现一个问题 : A.com的 iframe中嵌入 B.com的问题,恰好 需要在iframe中登陆到 B.com,结果发现成功登陆后并未转跳到B.com中的预期页面,后来发现是cookie丢失了,浏览器阻止了B.com的cookie

java中的解决方法如下 :写一个拦截器,然后配置你的action上就 ok 了

  public class P3PInterceptor implements Interceptor {   

     public void destroy() {      

     }   



     public void init() {     

      }  



     public String intercept(ActionInvocation invocation) throws Exception {              



      HttpServletResponse response = ServletActionContext.getResponse();     

      response.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\"");              

       return invocation.invoke();     

     }

} 

本质上就是改变response的header(加入了p3p这个网站隐私策略的信息,具体的p3p信息请参考google,本文不再赘述)所以其他的语言平台也可以如法炮制不需在每一个action都做这种配置,只需配置一个,浏览器就知道了,当访问其他action的时候,浏览器会自动传送该域的cookie

阅读更多
文章标签: 浏览器 Google
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭