使用内嵌IFrame,处理系统跨域身份认证的方案与实现
来源:互联网 发布:群雄起源的武将数据 编辑:程序博客网 时间:2024/05/17 07:17
需求:
系统A与系统B分别部署在不同域的两台服务器中,但它们的身份都统一在身份认证服务器中;身份认证信息以Session方式存贮于各自系统中,并辅以cookie进行使用。
当用户在A系统登录后,访问B系统时,由于是跨域访问,导致身份信息不能正确的传递到B系统中,从而致使用户需在B系统中重新登录。
解决方案:
处理这类跨域访问时,我们最先使用从B系统向C通过HttpRequest(类AJAX请求)的方式获取身份信息,此方式好处是同步处理,方便用使用;但其限制诸多,如需设置信任站点、用户访问确认等,甚至,在对应用服务器作了一次安全升级后,根本无法访问了。因此,需另行开辟途径,于是,在同事建议下,我们使用IFrame内嵌跨域验证网页,来解决此问题。
1、原理设计:用户在访问B系统时,先使用一内置的iframe,并将iframe的src指向身份认证服务器系统代理验证接口;如果用户已经在A系统中进行过登录,即A域了中已存在着身份认证信息后,身份认证服务器中也将具有其身份信息将其附带着身份认证信息后重定向访问B系统代理接口;B系统代理验证接口在接收到由A系统传递而来的身份认证信息后,通过身份认证服务器验证后,在B系统所在域重建身份认证信息。
2、实现逻辑贴码:
1)B系统代理验证接口:
(1)IFrame逻辑贴码:
(2)JS检测是否通过认证逻辑贴码:
2)身份认证服务器端接口(JSP):
3、注意事项:
1)由于身份认证中心使用cookie作为身份标识,因此,需要用户在浏览器中允许使用cookie的设置;
2)由于在iframe中进行跨域重定向,因此需在IE安全中的跨域浏览子框架项设为启用:
4、源码文件:
……
- 使用内嵌IFrame,处理系统跨域身份认证的方案与实现
- 一种基于主板BIOS的身份认证方案及实现
- 嵌入式系统NTLM/NTLMV2身份认证的C语言实现
- 与外部系统进行身份认证的解决方案
- 多服务器的用户身份认证方案
- 多服务器的用户身份认证方案
- 多服务器的用户身份认证方案
- LKT2102身份认证方案
- 统一身份认证子系统界面设计与实现
- 移动 APP 端与服务器端用户身份认证的安全方案
- express使用session实现登录身份认证
- 完善的身份认证购票系统
- 实现跨域iframe自适应高宽的方案
- 身份认证列表的业务实现
- 加密SD卡的新型身份认证方案
- 收藏《CnForums和已有系统的整合方案》《通过IViewObject接口,取浏览器的图象,实现SNAP 》《SNAP的另类实现,采用iFRAME,内嵌框架的形式.》等
- JavaScript实现内嵌的iframe跨域调用父页面js方法
- 身份认证狗,在B/S结构的《威博文件管理系统》中的使用
- 通过nfs在龙芯机器上安装E文debian //转自吴章金师兄的博客
- 3DS Max 2010简单导出插件开发(实例开发)
- 敏捷开发免费管理工具——火星人预览之二:编辑故事,产品管理,组织结构
- 采用valgrind来分析内存泄漏 和trace 函数调用
- android进程与线程详解一:进程
- 使用内嵌IFrame,处理系统跨域身份认证的方案与实现
- Android提高第九篇之SQLite分页表格
- HDFS ant clean tar出现问题记录
- 丁磊——网络三剑客之一
- 在开发中使用GDAL读取空间数据的使用心得一
- Magento网店自定义模板初探(1)——文件夹结构
- 无法从 CONST CHAR 转换为 LPCWSTR
- 中庸之道——中国式排名
- ffmpeg 编译 命令(windows+MSYS+MinGW)