关闭

跨网站引用页面,尤其是涉及session时的问题

标签: sessionredirectiframejsp浏览器ie
1345人阅读 评论(2) 收藏 举报
分类:

今天,工作中要在一个门户站点(aspx)中引用另一个应用站点(JSP)的页面。中间需要进行模拟登陆。

我给出的方案时,先在门户上打开一个隐藏的iFrame,里面调用应用系统的一个后门页面,模拟登陆。这样在当前的浏览器窗口就应该同时具有两个WEB站点的session了,以后,就可以无缝链接到应用站点的内部页面了。

不过,具体操作起来,发现一个奇怪的现象:第一次打开门户站点时,iFrame模拟登陆后总是无法跳转到我期望它打开的页面,而总是跳到应用站点的首页。再刷新一次整个页面,才能正确跳转。

跟踪分析了一下,发现,跳转地址是内嵌iFrame的第一个JSP中存放到session中,然后模拟登陆(表单自动提交)后再redirect的。问题在于,存放的SessionID和redirect时的sessionID是不一致的。所以总是跳到默认首页。

研究了一个上午,翻阅了不少资料,还是没有解决。突然发现,IE的状态栏中出现了cookie阻挡的图标,打开一看,就明白了。原来第一次访问时,IE会屏蔽外部网站的所有cookie,这样JSP的session就无法使用了。

解决方法:目前是客户端把应用站点的地址设置为安全站点即可。

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:13373次
    • 积分:171
    • 等级:
    • 排名:千里之外
    • 原创:4篇
    • 转载:0篇
    • 译文:0篇
    • 评论:5条
    最新评论