您现在的位置:首页 --> JavaScript --> IFrame带来的Session问题
IFrame带来的Session问题
浏览:3539次 出处信息
客户原来有个Web App系统A,我们要基于A开发一个系统B,但不希望B对A依赖太重,所以B被实现为一个独立的Web App(war)。A和B部署在同一个Weblogic server上,在A中可以导航到B,两个系统看起来像是一个系统。
有个小需求是,在B中希望显示一个页面,根据参数能展示出不同的信息。这个页面在A中已经存在,所以自然而然最快的方法就是在B中创建一个iframe来指向那个A中的页面,配以不同的参数,多快好省!
问题很快出来了,QA发现那个iframe中的A页面很快就会session timeout,然后会提示用户输入登陆用户名和密码,而iframe外的B session并未过期的。
问题在于A和B实际上还是两个Web App,各自有各自的session。因为不能简单地修改A的页面,让它保持session不会timeout,所以剩下的办法只好是控制B的session timeout时间要早于A了。还有什么更优雅的方法呢?
如果给我一次重新实现的机会,我宁愿自己画一个属于B的页面,而扔掉iframe。
另外一个需求是,A和B是各自独立的Web App对于用户是透明的,用A的用户登陆进来可以直接进入B,反之则不可以。解决办法有点tricky,A的contextRoot设为/,B的contextRoot设为/XXX,这样二者的servletContext为同一个,即可实现A把自己的loginToken放到servletContext中后由B访问到,从而在请求B页面时,检查是否能取到servletContext中的loginToken,如果不能则转向到A的登陆页面,这点由Filter来实现。
建议继续学习:
- 浅析http协议、cookies和session机制、浏览器缓存 (阅读:16709)
- cookie窃取和session劫持 (阅读:13704)
- 你必须了解的Session的本质 (阅读:10758)
- iframe大小自适应 (阅读:9550)
- iframe里src="about:blank"的问题。 (阅读:7476)
- 跨域请求的iframe解决方案(1) (阅读:5963)
- BO报表系统嵌入Iframe在firefox下的错误修改 (阅读:5183)
- 深入浅出Session攻击方式之一 – 固定会话ID (阅读:5047)
- ie下iframe输入框焦点丢失解决方案 (阅读:4992)
- 如何设置一个严格30分钟过期的Session (阅读:4818)
QQ技术交流群:445447336,欢迎加入!
扫一扫订阅我的微信号:IT技术博客大学习
扫一扫订阅我的微信号:IT技术博客大学习
<< 前一篇:URL正则表达式
后一篇:使用javascript将XML解析为JSON >>
文章信息
- 作者:zhangkf 来源: IDEAL Garden
- 标签: IFrame Session
- 发布时间:2011-06-01 23:34:12
建议继续学习
近3天十大热文
-
[895] WordPress插件开发 -- 在插件使用 -
[136] 解决 nginx 反向代理网页首尾出现神秘字 -
[56] 整理了一份招PHP高级工程师的面试题 -
[54] Innodb分表太多或者表分区太多,会导致内 -
[53] 如何保证一个程序在单台服务器上只有唯一实例( -
[53] 用 Jquery 模拟 select -
[52] 海量小文件存储 -
[52] CloudSMS:免费匿名的云短信 -
[52] 全站换域名时利用nginx和javascri -
[52] 分享一个JQUERY颜色选择插件
