问题描述: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中