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

iframe跨域访问时session丢失

阅读更多

问题描述:iframe在跨域访问时会造成session和cookie的丢失情况

 

场景:

A项目(应用)的界面:左侧是菜单栏,右侧是工作台(iframe),点击左侧某一菜单后相应的操作界面打开在右侧的工作台中,

现在要将B项目整合到A项目中(在A的菜单区新加一个节点,比如"进入B"),使得在点击"进入B"按钮时将B项目打开在A的工作台中.

在如上情况中,如果A项目和B项目的域名不一致的话,在点击"进入B"按钮时,会使得B项目的session及cookie造成丢失

 

 

解决方法:

第一步:

将如下内容加入到B项目的web.xml中

<!-- ie iframe cookie problem filter -->
 <filter>
  <filter-name>IeSessionFilter</filter-name>
  <filter-class>com.imx.core.web.filter.IeSessionFilter</filter-class>
 </filter>

 <filter-mapping>
  <filter-name>IeSessionFilter</filter-name>
  <url-pattern>/*</url-pattern>
 </filter-mapping>

 <!-- ie iframe cookie problem filter finish -->

第二步:

将附件中的imx.jar包加入到B的lib中

 

  • imx.jar (174.2 KB)
  • 下载次数: 144
分享到:
评论
1 楼 悲守穷庐 2013-02-05  
   
这个仍旧是绕过p3p协议的定义,已经排除了p3p协议的问题,在firefox下就session丢失了,服务器是nginx,有木有解决办法?

相关推荐

    iframe跨域与session失效问题的解决办法

    通过这种方式,可以解决在IE浏览器中由于P3P隐私设置导致的iframe跨域cookie丢失问题,进而解决session失效导致的用户频繁重新登录的问题。这个方法在技术上是可行的,但需要网站管理员操作,确保P3P声明符合实际的...

    【ASP.NET编程知识】iframe跨域与session失效问题的解决办法.docx

    在 ASP.NET 开发中,跨域和 Session 失效问题是一个常见的问题,特别是在使用 iframe 嵌入远程应用时。今天,我们来讨论这个问题的解决办法。 什么是跨域和 Session 失效? -------------------------------- 跨域...

    PHP关于IE下的iframe跨域导致session丢失问题解决方法

    总的来说,针对IE浏览器中iframe跨域导致Session丢失的问题,关键在于理解浏览器对跨域Cookie的处理方式,特别是IE的独特限制。通过设置P3P头,可以通知浏览器允许iframe内的页面使用和共享Session,从而修复登录和...

    关于Iframe如何跨域访问Cookie和Session的解决方法

    本文主要探讨如何解决Iframe跨域访问Cookie和Session的问题。 首先,理解跨域访问的基本概念。在Web浏览器的安全策略中,同源策略(Same-origin policy)禁止了一个源(协议+域名+端口)的文档或脚本直接获取另一个...

    iframe跨域嵌套自适应高度

    ### iframe跨域嵌套自适应高度 在网页开发过程中,`iframe`作为一种常见的网页元素,被广泛用于在当前页面中嵌入另一个独立的文档或页面。然而,在实际应用中经常会遇到一些问题,如跨域限制、自适应高度调整以及...

    iframe嵌入链接本地环境正常,正式环境重定向到登录解决

    - **Session丢失**:正式环境中,由于跨域请求或其他原因,服务器无法正确识别用户的Session信息,从而自动跳转至登录页面。 #### 解决方案 为了解决这个问题,可以通过以下步骤进行: 1. **协议一致性处理**:确保...

    ajax跨域访问遇到的问题及解决方案

    2. **Session丢失**:跨域请求无法携带Cookie,导致服务器端的Session无法正常工作。 3. **CORS(跨源资源共享)未开启**:如果目标服务器没有配置CORS策略,即使服务器返回了数据,浏览器也会因为安全原因拒绝解析...

    页面间传值

    每个网页访问时,浏览器都会自动携带对应的Cookie信息。不过,由于大小限制(通常4KB)和隐私问题,Cookie并不适合存储大量或敏感数据。 3. Session: Session是服务器端存储用户状态的一种方式。当用户登录后,...

    前端、vue、react、js面试题

    在前端开发领域,掌握扎实的基础知识是至关重要的,特别是在面试时。以下是一些关于前端、Vue、React、JavaScript的关键知识点: 1. **HTTP/HTTPS**: - HTTP(超文本传输协议)是一种无状态的应用层协议,而HTTPS...

    2022年前端工程师最新面试题

    - 在某些情况下,fetch会先发送预检请求(OPTIONS),以确认跨域请求是否被允许。 13. **Cookie、sessionStorage、localStorage的区别**: - Cookie存储在客户端,大小有限,且每次请求都会发送到服务器;...

Global site tag (gtag.js) - Google Analytics