`

单点登录系统的设计与实现方案

阅读更多
目的:
对目前已有的 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 调用)
通过用户名和密码进行身份验证
返回身份验证后的页面
分享到:
评论

相关推荐

    单点登录系统的设计与实现方案.pdf

    本文档主要介绍了如何设计和实现一个单点登录(SSO)系统,遵循以下几个关键原则: 1. **不大规模改造现有应用**:设计时考虑到了已存在的Web应用系统,避免对其进行大规模修改,确保系统间的兼容性。 2. **不限制...

    单点登录系统的设计与实现

    ### 单点登录系统的设计与实现 #### 一、引言 随着信息技术的发展,用户在不同的应用系统之间频繁切换已成为常态。为了提升用户体验并确保数据安全,单点登录(Single Sign-On, SSO)系统逐渐成为众多企业的首选...

    用友U8开发单点登录方案

    本文主要介绍了用友U8开发单点登录方案的设计背景、应用场景、实现方式和技术细节。单点登录方案的设计目标是实现非U8系统与U8系统的集成,共享用户名和密码,实现单点登录。 设计背景 随着企业IT系统的发展,系统...

    基于WEB服务单点登录设计与实现

    "基于WEB服务单点登录设计与实现" 本文对单点登录(SSO)技术进行了详细的讨论,从理论到实践,介绍了SSO的概念、分类、优点和实现方法,并结合Web Service提供了一个简单的单点登录技术的实现。 单点登录(SSO)...

    基于LDAP的单点登录方案的设计与实现

    (3)校园学生信息管理系统:配合实现单点登录的子系统。系统管理员负责对学生信息增、删、查、改等维护工作。 (1)实现网络的身份管理,为网络用户提供唯一的账号; (2)统一的登录门户,不同的用户界面,不同的...

    单点登录设计方案研究

    ### 单点登录设计方案研究 #### 一、编写目的 随着企业规模的不断扩大和技术的快速发展,各类业务系统逐渐增多,员工需要频繁地在不同的系统之间切换。传统的登录方式要求用户在每个系统中单独进行身份验证,这...

    基于Cookies的单点登录系统的设计与实现

    ### 基于Cookies的单点登录系统的设计与实现 #### 概述 在多应用系统组成的园区网中,如何实现各个应用系统中用户身份的统一管理成为了研究的重点。为了解决这一问题,《基于Cookies的单点登录系统的设计与实现》...

    企业级单点登录系统模型的设计与实现.pdf

    ### 企业级单点登录系统模型的设计与实现 在当今高度信息化的企业环境中...综上所述,新型单点登录系统模型的设计与实现,为企业提供了更为灵活、安全、高效的身份认证解决方案,是现代企业信息化建设的重要组成部分。

    公司号簿平台单点登录系统设计策划方案

    公司号簿平台单点登录系统设计策划方案是一个旨在优化中国联通"电话导航"服务平台用户体验和管理效率的项目。电话导航作为中国联通的核心服务品牌,提供通信、信息和交易等多元化服务,覆盖全国不同地区。随着业务的...

    OAuth2.0授权系统实现单点登录

    通过研究这个项目,开发者可以学习如何在实际环境中部署和配置OAuth2.0,以及如何设计和实现单点登录解决方案,这对于构建安全的、多应用集成的网络环境非常有价值。同时,它也有助于深入理解授权和身份验证的原理,...

    多系统实现单点登录的例子

    综上所述,"多系统实现单点登录的例子"是一个涉及认证中心设计、安全令牌管理、服务提供者集成以及使用特定协议的项目。通过这个项目,可以学习到如何构建一个高效、安全的SSO系统,以提高企业内部或外部用户的操作...

    SSO 单点登录解决方案 设计流程图

    SSO 单点登录解决方案 设计流程图 ...SSO 单点登录解决方案的设计流程图、时序图、数据库设计、程序实现和修改、Cookie 和 Redis 的使用、相关 API 等方面的知识点都是当前企业应用系统中最常用的身份验证机制之一。

    单点登陆实现(完全跨域、单点退出)

    在这个例子中,我们基于Spring MVC、Maven、WebService和Memcached来实现一个功能完善的单点登录系统,同时支持完全跨域和单点退出。 1. **Spring MVC**: Spring MVC是Spring框架的一个模块,主要用于构建Web应用...

    第三方单点登录Ecology方案

    总结,"第三方单点登录Ecology方案"是构建一个高效、安全的多应用登录生态的关键步骤,它涉及到身份验证协议、安全性设计、系统集成等多个IT领域的知识。通过这个方案,企业可以提供更加便捷、统一的登录体验,同时...

    jsp如何实现单点登录

    在Web应用程序中,单点登录(Single Sign-On,SSO)是一种便捷的身份验证机制,允许用户在一次登录后,就能访问多个相互关联的应用系统,而无需再次输入凭证。在Java Web开发中,JSP常常用于构建用户界面,与Servlet...

    基于LDAP的CAS单点登录系统设计和实现

    基于LDAP的CAS单点登录系统是一种高效的身份验证和授权解决方案,尤其适用于拥有多个独立应用系统的大型组织。该系统设计旨在解决用户在不同应用间频繁登录的问题,提高用户体验并简化系统管理。 LDAP(轻量级目录...

Global site tag (gtag.js) - Google Analytics