目的:
对目前已有的 Web 应用系统,和将来待开发的 Web 应用系统进行集成,实现单点登录。
要求:
- 对已有的 Web 应用系统不作大规模改造。
- 不限制待开发的 Web 应用系统的开发工具。
- 不增加待开发系统的开发难度。
分析:
- 目前,已有的系统都各自维护自己的一套用户库,每个系统中的用户数、用户名、密码几乎都各不相同。要将已有的用户库进行统一是不现实的。因此,我们可以通过将单点登录系统中的用户与其它个系统中的用户建立映射,来实现用一个帐号来管理多个系统的目的。
- 已 有的 Web 应用系统、以及待开发的 Web 应用系统,可能不在同一个域下,虽然会话本身是保存在服务器端,但是会话 id 是需要 cookie 来传递的,而 cookie 不允许跨域访问,而且考虑到各个系统的开发工具也各不相同,即使在同一个域下,不同的开发工具所开发的应用程序之间也很难共享会话,因此要用共享会话的方 式来实现单点登录也不现实。因此我们通过在客户端浏览器、单点登录系统和 Web 应用系统之间传递临时会话,并让 Web 应用系统直接到单点登录系统中获取认证信息来实现单点登录。为保证不同开发工具都能够到单点登录系统获取认证信息,我们采用 xml-rpc 在 Web 应用系统和单点登录系统之间进行通讯。
实现:
单点登录系统中设置 4 个表:
- 单点登录系统用户表,包含 user_id,name,password 3 个字段。
- Web 应用系统表,包含 app_id,name(Web 应用系统名称),checkurl(Web 应用系统中用来验证用户登录的程序地址) 3 个字段。
- 单点登录系统用户到各个 Web 应用系统的用户映射表,包含id,user_id,app_id,name,password 5 个字段。
- 临时会话表,包含 hash(临时会话的 hash 编号),id(对应单点登录系统用户到各个 Web 应用系统的用户映射表中的 id 字段) 2个字段。
用户登录单点登录系统时,通过单点登录系统用户表中的字段来验证用户身份。登录以后,用户可以设置各个系统到该系统用户的映射关系。设置好以后,当通过该 系统进入其他某个 Web 应用系统时,该系统会为该用户和该系统生成一个临时会话编号(hash),并转到 Web 应用系统中的登录检测页面,登录检测页面通过获取到的临时会话编号,来调用单点登录系统的获取用户名和密码的 xml-rpc API,如果用户名密码如果正确,则转到正常登录后的页面,如果不正确,则转到登录错误的页面。这里,xml-rpc API 在返回用户名和密码后,将删除单点登录系统数据库中相应的临时会话,这样不但用户名、密码都是在服务器之间进行传递的,并且临时会话存在的时间也是尽可能 的短,因此只要保证服务器之间的对话不能被监听,即可保证安全性。 已有系统需要增加一个用于单点登录系统的登录验证页面,该页面工作过程大致如下:
- 获取 客户端 hash 值
- 通过 hash 值得到用户名和密码(xml-rpc 调用)
- 通过用户名和密码进行身份验证
- 返回身份验证后的页面
原作者:andot,来源coolcode.cn,原文:http://www.coolcode.cn/show-89-1.html
相关推荐
单点登录系统的设计与实现⽅案 单点登录系统的设计与实现⽅案 ⽬的: 对⽬前已有的 Web 应⽤系统,和将来待开发的 Web 应⽤系统进⾏集成,实现单点登录。 要求: 1. 对已有的 Web 应⽤系统不作⼤规模改造。 2. 不...
(3)校园学生信息管理系统:配合实现单点登录的子系统。系统管理员负责对学生信息增、删、查、改等维护工作。 (1)实现网络的身份管理,为网络用户提供唯一的账号; (2)统一的登录门户,不同的用户界面,不同的...
基于LDAP的CAS单点登录系统设计,详细的解决方案,是做项目实践的好参考
单点登录技术的系统集成功能为当前企事业单位尤其是大型多子系统企业系统集成提供了完美的解决方案。它使得这些原有系统能够合理的集成起来,对外提供统一的界面风格和唯一的登录入口。单点登录只是一种功能概念,并...
本文主要介绍了利用webservice,session,cookie技术,来进行通用的单点登录系统的分析与设计。具体实现语言为PHP。单点 登录,英文名为Single Sign On,简称为 SSO,是目前企业,网络业务的用户综合处理的重要组成...
4.1系统设计概要 4.2系统流程 4.3系统模块设计 15 4.3.1 实体图设计 16 4.3.2 ER图设计 17 第五章 数据库的设计 17 5.1数据库设计原则 17 5.2数据库实体设计 17 第六章 程序模块的界面设计 6.1前端功能页面 6.1.1...
1 单点登录总体解决方案 2 CAS原理和协议 3 CAS安全性 4 CAS工作模式 5 系统设计方案 6 CAS关键技术 6.1 域名规范 6.2 中文用户登录提交时乱码 6.3 客户端获取中文用户名及更多信息乱码 7 单点登录风险 7.1 无人...
案,满足了单点登录的要求。对系统的架构进行了详细设计,论述了权限的控制方案,并对关键部分 的程序进行了设计和代码实现。所设计的员工自助服务系统基于B/S 运行模式,采用Web Dynpro for ...
基于ASP.NET+React+Mysql实现的单点登录系统源码(前端+后端)+详细说明文档.zip 技术方案 后端框架:.NET Core3.1(后期会推出 .NET 5版本) 前端框架:React 数据库:mysql(可根据实际情况,自由切换) 中间件...
实时精密单点定位原型系统实现及其精度分析,张小红,李星星,设计并开发实时精密钟差估计和实时精密单点定位原型系统。介绍了系统的整体设计及数据流,进行了实时背景下的核心问题解决方案分
使用PeertoPeer模型设计了一种新的单点登录服务模型,并在国家科技基础条件平台门户应用系统的身份认证系统中实际应用。该方案(NPSSO)把身份认证分配到多个身份认证服务器上,每个身份认证服务器均由一个单独...
五、课题设计的实现方案 (1)本系统开发语言的选择 学生电子作业提交与分析系统结构模式为B/S结构模式,以C#为主要的系统开发语言。C#语言是微软公司在2000年7月发布的一种全新切简单、安全、面向对象的程序设计...
五、课题设计的实现方案 (1)本系统开发语言的选择 本系统使用的开发语言是c++语言,C++语言是一种优秀的面向对像程序设计语言,它在C语言的基础上发展而来,但它比C语言更容易为人们学习和掌握。C++以其独特的语言...
本文主要介绍了利用webservice,session,cookie技术,来进行通用的单点登录系统的分析与设计。具体实现语言为PHP。单点 登录,英文名为Single Sign On,简称为 SSO,是目前企业,网络业务的用户综合处理的重要组成...
内容概要:设计出了一个点餐系统,并在其中加入推荐系统来为在餐厅内点餐的用户提供个性...阅读建议:此资源智能推荐点餐系统不仅是代码编写实现更注重内容上的需求分析和方案设计,所以在学习的过程要结合实践和代码。
为此,我们在进行方案设计时将遵循以下几个性能指标: (安全可靠性 要求整个系统采用具有高可靠性的总体设计,在关键节点考虑采用备份设计, 在关键的网络设备和主机设备上努力消除单点失效;设计中所选用的设备本身应...
为解决传统视频监控与视频会议系统相互独立、处理突发事件时二者不能互通的问题,提出了一种视频监控与视频会议整合平台的设计与实现方案,该方案将每个监控摄像头对应为视频会议中的一个视频终端,在视频会议发起时或...
计算机网络系统设计方案 计算机网络系统设计方案 计算机网络系统设计方案全文共14页,当前为第1页。LT 计算机网络系统设计方案全文共14页,当前为第1页。 计算机网络系统设计方案全文共14页,当前为第2页。 计算机...
7 2、信息引导及发布系统的软件方案 8 4、嵌入式系统技术参数 9 5、单机多屏控制方案与多机多屏控制方案的比较 10 6、双基色LED电子显示屏示意图 12 7、三基色LED显示系统 12 8、土建与环境要求之供电系统设计 ...