单点登录系统(SSO)详细设计说明书(上篇)
1、引言
1.1编写目的
为了单点登录系统(SSO系统)的可行性,完整性,并能按照预期的设想实现该系统,特编写需求说明书。
同时,说明书也发挥与策划和设计人员更好地沟通的作用。
1.2背景
a.鉴于集团运营的多个独立网站(称为成员站点),每个网站都具有自己的身份验证机制,这样势必造成:生活中的
一位用户,如果要以会员的身份访问网站,需要在每个网站上注册,并且通过身份验证后,才能以会员的身份访问网
站;即使用户以同样的用户名与密码在每个网站上注册时,虽然可以在避免用户名与密码的忘记和混淆方面有一定的
作用,但是用户在某一段时间访问多个成员站点或在成员站点间跳转时,还是需要用户登录后,才能以会员的身份访
问网站。这样不仅给用户带来了不便,而且成员网站为登录付出了性能的代价;
b.如果所有的成员网站,能够实现单点登录,不仅在用户体验方面有所提高,而且真正体现了集团多个网站的兄弟
性。通过这种有机结合,能更好地体现公司大平台,大渠道的理念。同时,这样做也利于成员网站的相互促进与相互
宣传。
正是出于上面的两点,单点登录系统的开发是必须的,是迫在眉睫的。
1.3定义
单点登录系统提供所有成员网站的“单一登录”入口。本系统的实质是含有身份验证状态的变量,
在各个成员网站间共用。单点登录系统,包括认证服务器(称Passport服务器),成员网站服务器。
会员:用户通过Passport服务器注册成功后,就具有了会员身份。
单一登录:会员第一次访问某个成员网站时,需要提供用户名与密码,一旦通过Passport服务器的身份验证,
该会员在一定的时间内,访问任何成员网站都不需要再次登录。
Cookie验证票:含有身份验证状态的变量。由Passport服务器生成,票含有用户名,签发日期时间,
过期日期时间和用户其它数据。
2、任务概述
2.1目标
SSO系统,是集团统一的Passport,SSO系统分两个阶段实施。第一阶段对于新注册的用户提供单点登录的功能。
第二阶段,整合各个成员网站已有会员到单点登录系统中。
Passport服务器作为各个成员网站的惟一身份验证入口,需要考虑其性能,扩展性,稳定性,安全性和维护成本。尤其
要注意第二阶段的开发,做到统筹考虑。
2.2最终用户的特点
最终用户是数以万计网民。这就确定了用户使用电脑的水平是参差不齐的,在开发单点登录系统时,力争做到界面友
好,措词简单明了。用户不用学习,就能使用该系统。
3、需求规定
3.1 需求概述
1) 注册:
a.成员网站重定向到Passport服务器的注册页面,并且带有返回URL和成员网站ID。
b.通过Passport注册页面创建会员后,保存会员验证票到数据库和passport服务器所在域cookie中。同时,在成员网站
的数据库上创建与Passport服务器数据库中会员的映射关系。
c. 重定向到成员网站,填写会员个性信息。
d. 保存会员个性信息,并把重定向传入的验证票保存到本地cookie和创建Session状态变量。
2)登录:
a、 SSO系统要实现各个成员网站的无缝结合,只要会员经过了认证服务器的登录验证(Passport服务器),该会员访
问其它任何的网站时,都不需要再次登录。
b、 会员在第一次登录时,Passport服务器验证身份之后,生成的cookie验证票,只需保存到Passport服务器所在域的
cookie中,不能采用向每个成员网站所在的域中写cookie,防止响应时间太长,给会员带来不友好的浏览体验。同
时,把下发给会员的cookie票保存到Passport服务器的数据库中,方便验证方式和会员行为统计的扩展。
c、 会员一经通过身份验证,成功登录了某个成员网站(假设为网站A),需要利用Session和cookie两种方式保存会员已经登
录的状态。
d、 同一个浏览器进程中,会员在网站A的页面间跳转时,只需要根据Session中的状态变量加载登录框。不需要再与
Passport服务器通信验证会员的身份。
e、 会员通过验证登录了网站A,若会员从网站A跳转或重新打开浏览器登录其它成员网站(假设网站B),都需要与Passport
服务器通信验证会员的票。但是,这次验证不要Passport服务器与数据库中保存的验证票进行比较验证,只需要验证
Passport服务器域中的cookie验证票据有效即可。
f、 对于验证cookie票,能够实现加密和数字签名保证cookie的机密性,完整性和不可抵赖性。
g、 若果Passport服务器Down掉后,仍可以直接登录成员网站。
说明:上面高亮显示的表示二期开发功能。
3)登出、修改密码、找回密码和成员网站间的跳转,请查看IPO图表中相应的模块描述。
-
3.2对功能的规定
SSO系统包括注册、登录、登出、密码修改、密码找回、成员网站间跳转与用户管理模块。本说明书使用HIPO图描述
系统机构和模块内部处理功能,它主要包括层次结构图和IPO图两个部分。层次结构图描述了整个系统的结构以及各个
模块之间的关系;IPO图则描述了在某个特定模块内部的输入(I)、处理过程(P)、输出(O)思想。
A、系统结构图
图1 SSO系统结构图
B、层次结构图
图2系统层次结构图
C、IPO图表
备注:红色高亮部分,表示修改的逻辑
模块名称:会员注册
使用者:Passport服务器与各成员网站
输入部分 I
处理描述 P
输出部分 O
1. 重定向到Passport服务器,带
有返回URL和成员网站ID
2. 输入信息:邮箱、密码、区域(暂时没有使用验证码)。
3 3.提交注册信息,发出注册请求。
4.注册用户从邮件中获得验证码,利用验证号激活用户,此时用户将成为合法会员。
5.会员个性信息(在成员网站填写)
1.邮箱是否可用的实时检查,及时提示邮箱是否可用(这里的可用仅仅是表示符合邮箱的规范,并且该邮箱没有被注册,不表示真正的可用)。
2.密码安全级别实时提示。根据字符长度、含有字符的种类,计算安全级别,并实时提示用户。安全级别分为:太短,差,良,优四个等级。
3.根据区域数据库,获得区域信息下拉框,结合会员区域IP,实现区域自动筛选,在允许的误差范围内不需手动选择区域。
4. 建立新会员
(1)验证会员提交的注册信息,若合法,把用于激活帐号的验证码发送到会员测试使用的邮箱中。
(2)会员使用验证码激活帐号,若激活成功,保存会员信息和会员验证票到数据库(Passport服务器数据库),并且验证票也保存到cookie中。同时调用成员网站的Web Service接口,把刚才产生的Passid保存到成员网站数据库中(建立映射关系)。
(3)重定向到成员网站。
(4)成员网站接收数据,提示会员填写个性信息,并提交到成员网站服务器。
(5)保存个性信息与接收的会员验证信息到成员网站数据库与cookie中,同时在Session中保存会员已验证的状态信息。
(5)导航会员到某个页面。
1. Passort服务器保存新会员信息和会员验证票到数据库中。
2. 成员网站Web Service,在成员网站数据库中添加会员信息,利用Passid建立与Passport服务器上会员的映射关系,并返回操作成功或失败状态信息。
3. 修改成员网站数据库中会员的个性信息。
4.保存会员验证票到cookie中,同时保存会员通过验证的状态到Session中。
表1:会员注册模块
进广告:
模块名称:会员登录
使用者:Passport服务器与各成员网站
输入部分 I
处理描述 P
输出部分 O
1. 会员第一次登录时输入Email
和密码。
2. 提交会员信息到Passport服务
器。
说明:加载登录框之前,成员网
站会首先与Passport服务器通信,
获得会员是否已经登录过,根据
状态加载登录框。
1.在成员网站A含有登录框页面的
<head>区,利用
<script src=meber_auth.aspx> 在页头嵌入.aspx文件(成员网站上的文件)。
a.页面首先查看Session中的状态变量,如果状态变量为NULL,则查看cookie中的状态变量。
b.根据Session与Cookie中状态变量的情况,实现与Passport服务器上的Web Service通信,确定会员是否已经登录。
2.根据会员登录与否,加载登录框。
3.如果没有登录,显示会员输入Email和密码的登录框。
4.会员提交信息到Passport服务器上的Web Service ,通过验证后生成cookie票,并返回登录状态值和cookie票到成员网站。成员网站保存登录状态变量与cookie票。
说明:会员通过任何一个成员网站登录成功后,表示已经登录了所有的成员网站。
1.根据登录状态加载登录框
2. 在Passport服务器上创建会员
验证票,保存到数据库与cookie中
3.Passport Web Service 返回登录
状态值与cookie验证票到成员网站。
4.保存会员验证票到cookie中,同时保存会员通过验证的状态到Session中。
表2:会员登录模块
模块名称:会员登出
使用者:Passport服务器与各成员网站
输入部分 I
处理描述 P
输出部分 O
1.成员网站重定向到Passport服务器的登出页面,并带有返回URL,成员网站ID和验证票。
1.在成员网站A重定向到Passport服务器,Passport接收cookie验证票,并验证是否合法。
2.Passport修改数据库中验证票使之失效,清除cookie中的验证票。
3.重定向到成员网站,清除cookie中的验证票和Session中登录状态变量。
4.导航会员到某个页面。
1.修改数据库中的验证票使之失效,并清除cookie。
2.重定向到成员网站。
表3:会员登出
模块名称:修改密码
使用者:Passport服务器与各成员网站
输入部分 I
处理描述 P
输出部分 O
1.成员网站重定向到Passport服务器修改密码页面,并带有返回URL,验证cookie票。
2.会员输入原密码和新密码。
3.提交数据。
1.在成员网站A重定向到Passport服务器,Passport接收cookie验证票,并验证是否合法。
2.Passport修改会员密码。
3.重定向到成员网站,并带有修改成功与否的状态变量。
4.导航会员到某个页面。
1.修改数据库中会员的密码。
2.重定向到成员网站。
表4:会员登出
模块名称:找回密码
使用者:Passport服务器与各成员网站
输入部分 I
处理描述 P
输出部分 O
1.成员网站重定向到Passport服务器找回密码页面,并带有验证cookie票。
2.会员输入Email地址
3.提交数据
4.激活新密码(邮箱将收到一个激活密码的URL)
1.在成员网站A重定向到Passport服务器,Passport接收cookie验证票,并验证是否合法。
2.Passport为会员生成新密码,并向会员邮箱中发送一个激活密码的URL。
3.激活新密码
4.使用新的密码登录
1.为会员生成新密码,但未激活。
2.提示会员收邮件激活新密码,激活后方可使用。
表5:找回密码
模块名称:成员网站间跳转
使用者:Passport服务器与各成员网站
输入部分 I
处理描述 P
输出部分 O
成员网站A链接到其它成员网站B,之后处理同会员登录模块。
表6:成员网站跳转
模块名称:票据加解密及验证
使用者:Passport服务器
输入部分 I
处理描述 P
输出部分 O
1.会员Passid、票据发布时间、票据有效时间、会员其它信息数据。
2.调用Web Service方法验证
a. 传入Email和密码
b. 传入cookie验证票
1.接收成员网站请求数据(Email与密码)。
2. 由会员Passid、票据发布时间、票据有效时间、会员其它信息数据生成加密的cookie验证票,并且保存到数据库和cookie中。
3. 接收cookie验证票,解密并验证,返回给成员网站登录状态值。
1.生成加密的cookie票。
2.返回会员登录状态值。
表7:票据加解密及验证
Tags:单点登录系统,单一登录系统,SSO系统
【声明】本文版权属于个人所有,转载需经本人同意。谢谢合作
分享到:
相关推荐
饮品店点单系统需求分析报告文书 本报告旨在对饮品店点单系统进行需求分析,旨在合理化安排饮品店的工作,提高饮品店的管理效率。该系统的主要目标是开发手机订饮品系统,节省员工的时间和精力,避免客户在人流高峰...
本文从业务的角度分析了单点登录的需求和应用领域;从技术本身的角度分析了单点登录技术的内部机制和实现手段,并且给出Web-SSO和桌面SSO的实现、源代码和详细讲解;还从安全和性能的角度对现有的实现技术进行进一步...
2. 单点登录需求分析:云计算平台用户验证的特点包括分布式管理和单点登录需求。分布式管理意味着云平台将各种资源和服务集中管理,单点登录则意味着用户只需在登录云平台时进行一次验证,之后便可访问云平台中所有...
通过以上分析,我们可以看到这个单点登录Demo是如何利用SharedPreference在多个Android应用之间实现用户登录状态共享的。实际开发中,可以根据项目需求进行相应的调整和优化,确保安全性和用户体验。
### 单点登录技术实现与CAS认证系统 #### 一、单点登录(Single Sign-On, SSO)概念 单点登录(Single Sign-On,简称SSO)是一种身份验证机制,它允许用户通过一次登录就能访问多个应用系统,无需再次进行身份验证。...
此外,本文还对统一身份认证和单点登录的应用情况进行了分析,并对其特点进行了概述。统一身份认证和单点登录技术可以使图书馆系统更加智能化和高效化,提高读者的使用体验和满意度。 keywords: 图书馆系统,统一...
单点登录(SSO)是一种用户登录机制,允许用户在多个应用系统中只登录一次,便可以访问所有相互信任的应用系统。随着企业业务系统的不断增加,各个系统通常由不同的厂商在不同时间开发,运行在不同的平台上,采用...
单点登录(Single Sign-On,简称SSO)是一种身份验证机制,允许用户在一次登录后访问多个相互关联的应用系统,而无需再次输入凭证。在本文中,我们将深入探讨单点登录的基本原理、实现方式以及其在实际应用中的价值...
本篇将深入探讨J2EE平台下实现单点登录组件的原理和源码分析。 单点登录的核心思想是用户只需登录一次,就可以在多个系统间自由切换,无需再次输入认证信息。在J2EE环境中,通常采用过滤器(Filter)和会话管理来...
- 提供了基于WEB的单点登录解决方案的理论研究和实证分析,为相关领域的研究人员和实践者提供了理论依据和应用参考。 - 作者李庆林和马兆丰分别来自北京邮电大学信息安全中心和北京国泰信安科技有限公司,具有信息...
《TAMESSO单点登录方案建议书》深入探讨了企业级单点登录(Single Sign-On,SSO)解决方案的设计与实施,旨在解决现代企业环境中因多应用、多平台访问而导致的身份验证复杂性与安全风险。本文将从需求分析、技术方案...
通过以上分析,我们可以看出这个"单点登录系统完整版"是一个综合性的解决方案,它结合了权限管理、消息传递、服务治理等多个方面,旨在提供安全、高效且便捷的身份验证体验。如果你是开发者,这份资源将帮助你深入...
《国网统一身份管理系统单点登录和身份同步接入规范》详细阐述了在信息技术环境中,如何实现高效、安全的身份管理和用户访问控制。本文档主要分为三个部分:系统介绍、应用系统单点登录集成以及身份同步规范。 一、...
### 单点登录系统的设计与实现 #### 一、引言 随着信息技术的发展,用户在不同的应用系统之间频繁切换已成为常态。为了提升用户体验并确保数据安全,单点登录(Single Sign-On, SSO)系统逐渐成为众多企业的首选...
本文从业务的角度分析了单点登录的需求和应用领域;从技术本身的角度分析了单点登录技术的内部机制和实现手段,并且给出Web-SSO和桌面SSO的实现、源代码和详细讲解;还从安全和性能的角度对现有的实现技术进行进一步...
单点登录(Single Sign-On,简称SSO)是一种身份验证机制,它允许用户在一个系统上登录后,无需再次输入凭证即可访问多个相互关联的系统。SSO的核心思想是通过一个中心认证服务(Central Authentication Service,...
单点登录(Single Sign-On,简称SSO)是一种网络应用中的身份验证机制,它允许用户在一次登录后,就可以访问多个相互信任的应用系统,而无需再次进行身份验证。CAS(Central Authentication Service)是 Yale 大学...
MaxKey单点登录认证系统是基于开放标准的身份管理和访问控制解决方案,主要目的是为了提供一个统一的用户认证平台,实现用户在多个应用系统间无需重复登录的功能。v4.0.2版本代表这是一个经过多次迭代和优化的产品,...