问题描述: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中
分享到:
相关推荐
通过这种方式,可以解决在IE浏览器中由于P3P隐私设置导致的iframe跨域cookie丢失问题,进而解决session失效导致的用户频繁重新登录的问题。这个方法在技术上是可行的,但需要网站管理员操作,确保P3P声明符合实际的...
在 ASP.NET 开发中,跨域和 Session 失效问题是一个常见的问题,特别是在使用 iframe 嵌入远程应用时。今天,我们来讨论这个问题的解决办法。 什么是跨域和 Session 失效? -------------------------------- 跨域...
总的来说,针对IE浏览器中iframe跨域导致Session丢失的问题,关键在于理解浏览器对跨域Cookie的处理方式,特别是IE的独特限制。通过设置P3P头,可以通知浏览器允许iframe内的页面使用和共享Session,从而修复登录和...
本文主要探讨如何解决Iframe跨域访问Cookie和Session的问题。 首先,理解跨域访问的基本概念。在Web浏览器的安全策略中,同源策略(Same-origin policy)禁止了一个源(协议+域名+端口)的文档或脚本直接获取另一个...
### iframe跨域嵌套自适应高度 在网页开发过程中,`iframe`作为一种常见的网页元素,被广泛用于在当前页面中嵌入另一个独立的文档或页面。然而,在实际应用中经常会遇到一些问题,如跨域限制、自适应高度调整以及...
- **Session丢失**:正式环境中,由于跨域请求或其他原因,服务器无法正确识别用户的Session信息,从而自动跳转至登录页面。 #### 解决方案 为了解决这个问题,可以通过以下步骤进行: 1. **协议一致性处理**:确保...
2. **Session丢失**:跨域请求无法携带Cookie,导致服务器端的Session无法正常工作。 3. **CORS(跨源资源共享)未开启**:如果目标服务器没有配置CORS策略,即使服务器返回了数据,浏览器也会因为安全原因拒绝解析...
每个网页访问时,浏览器都会自动携带对应的Cookie信息。不过,由于大小限制(通常4KB)和隐私问题,Cookie并不适合存储大量或敏感数据。 3. Session: Session是服务器端存储用户状态的一种方式。当用户登录后,...
在前端开发领域,掌握扎实的基础知识是至关重要的,特别是在面试时。以下是一些关于前端、Vue、React、JavaScript的关键知识点: 1. **HTTP/HTTPS**: - HTTP(超文本传输协议)是一种无状态的应用层协议,而HTTPS...
- 在某些情况下,fetch会先发送预检请求(OPTIONS),以确认跨域请求是否被允许。 13. **Cookie、sessionStorage、localStorage的区别**: - Cookie存储在客户端,大小有限,且每次请求都会发送到服务器;...