ImageVerifierCode 换一换
格式:DOCX , 页数:17 ,大小:110.62KB ,
资源ID:7569977      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/7569977.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(单点登录系统SSO设计说明书.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

单点登录系统SSO设计说明书.docx

1、单点登录系统SSO设计说明书单点登录系统(SSO)详细设计说明书1、引言1.1编写目的为了单点登录系统(SSO系统)的可行性,完整性,并能按照预期的设想实现该系统,特编写需求说明书。同时,说明书也发挥与策划和设计人员更好地沟通的作用。 1.2背景a鉴于集团运营的多个独立网站(称为成员站点),每个网站都具有自己的身份验证机制,这样势必造成:生活中的一位用户,如果要以会员的身份访问网站,需要在每个网站上注册,并且通过身份验证后,才能以会员的身份访问网 站;即使用户以同样的用户名与密码在每个网站上注册时,虽然可以在避免用户名与密码的忘记和混淆方面有一定的作用,但是用户在某一段时间访问多个成员站点或在

2、成员站点间跳转时,还是需要用户登录后,才能以会员的身份访问网站。这样不仅给用户带来了不便,而且成员网站为登录付出了性能的代价; b如果所有的成员网站,能够实现单点登录,不仅在用户体验方面有所提高,而且真正体现了集团多个网站的兄弟性。通过这种有机结合,能更好地体现公司大平台,大渠道的理念。同时,这样做也利于成员网站的相互促进与相互宣传。正是出于上面的两点,单点登录系统的开发是必须的,是迫在眉睫的。 1.3定义 单点登录系统提供所有成员网站的“单一登录”入口。本系统的实质是含有身份验证状态的变量,在各个成员网站间共用。单点登录系统,包括认证服务器(称Passport服务器),成员网站服务器。 会员

3、:用户通过Passport服务器注册成功后,就具有了会员身份。单一登录:会员第一次访问某个成员网站时,需要提供用户名与密码,一旦通过Passport服务器的身份验证,该会员在一定的时间内,访问任何成员网站都不需要再次登录。Cookie验证票:含有身份验证状态的变量。由Passport服务器生成,票含有用户名,签发日期时间,过期日期时间和用户其它数据。2、任务概述 2.1目标SSO系统,是集团统一的Passport,SSO系统分两个阶段实施。第一阶段对于新注册的用户提供单点登录的功能。第二阶段,整合各个成员网站已有会员到单点登录系统中。Passport服务器作为各个成员网站的惟一身份验证入口,需

4、要考虑其性能,扩展性,稳定性,安全性和维护成本。尤其要注意第二阶段的开发,做到统筹考虑。 2.2最终用户的特点最终用户是数以万计网民。这就确定了用户使用电脑的水平是参差不齐的,在开发单点登录系统时,力争做到界面友好,措词简单明了。用户不用学习,就能使用该系统。 3、需求规定 3.1 需求概述1)注册:a.成员网站重定向到Passport服务器的注册页面,并且带有返回URL和成员网站ID。b.通过Passport注册页面创建会员后,保存会员验证票到数据库和passport服务器所在域cookie中。同时,在成员网站的数据库上创建与Passport服务器数据库中会员的映射关系。c. 重定向到成员网

5、站,填写会员个性信息。d. 保存会员个性信息,并把重定向传入的验证票保存到本地cookie和创建Session状态变量。2)登录:a、 SSO系统要实现各个成员网站的无缝结合,只要会员经过了认证服务器的登录验证(Passport服务器),该会员访问其它任何的网站时,都不需要再次登录。b、 会员在第一次登录时,Passport服务器验证身份之后,生成的cookie验证票,只需保存到Passport服务器所在域的cookie中,不能采用向每个成员网站所在的域中写cookie,防止响应时间太长,给会员带来不友好的浏览体验。同时,把下发给会员的cookie票保存到Passport服务器的数据库中,方便

6、验证方式和会员行为统计的扩展。c、 会员一经通过身份验证,成功登录了某个成员网站(假设为网站A),需要利用Session和cookie两种方式保存会员已经登录的状态。d、 同一个浏览器进程中,会员在网站A的页面间跳转时,只需要根据Session中的状态变量加载登录框。不需要再与Passport服务器通信验证会员的身份。e、 会员通过验证登录了网站A,若会员从网站A跳转或重新打开浏览器登录其它成员网站(假设网站B),都需要与Passport服务器通信验证会员的票。但是,这次验证不要Passport服务器与数据库中保存的验证票进行比较验证,只需要验证Passport服务器域中的cookie验证票据

7、有效即可。f、对于验证cookie票,能够实现加密和数字签名保证cookie的机密性,完整性和不可抵赖性。g、 若果Passport服务器Down掉后,仍可以直接登录成员网站。 说明:上面高亮显示的表示二期开发功能。 3)登出、修改密码、找回密码和成员网站间的跳转,请查看IPO图表中相应的模块描述。3.2对功能的规定SSO系统包括注册、登录、登出、密码修改、密码找回、成员网站间跳转与用户管理模块。本说明书使用HIPO图描述系统机构和模块内部处理功能,它主要包括层次结构图和IPO图两个部分。层次结构图描述了整个系统的结构以及各个模块之间的关系;IPO图则描述了在某个特定模块内部的输入(I)、处理

8、过程(P)、输出(O)思想。A、系统结构图图1 SSO系统结构图B、层次结构图 图2系统层次结构图C、IPO图表备注:红色高亮部分,表示修改的逻辑模块名称:会员注册使用者:Passport服务器与各成员网站输入部分 I处理描述 P输出部分 O1. 重定向到Passport服务器,带有返回URL和成员网站ID2. 输入信息:邮箱、密码、区域(暂时没有使用验证码)。3 3.提交注册信息,发出注册请求。 4.注册用户从邮件中获得验证码,利用验证号激活用户,此时用户将成为合法会员。5.会员个性信息(在成员网站填写)1.邮箱是否可用的实时检查,及时提示邮箱是否可用(这里的可用仅仅是表示符合邮箱的规范,并

9、且该邮箱没有被注册,不表示真正的可用)。2.密码安全级别实时提示。根据字符长度、含有字符的种类,计算安全级别,并实时提示用户。安全级别分为:太短,差,良,优四个等级。3.根据区域数据库,获得区域信息下拉框,结合会员区域IP,实现区域自动筛选,在允许的误差范围内不需手动选择区域。4. 建立新会员(1)验证会员提交的注册信息,若合法,把用于激活帐号的验证码发送到会员测试使用的邮箱中。(2)会员使用验证码激活帐号,若激活成功,保存会员信息和会员验证票到数据库(Passport服务器数据库),并且验证票也保存到cookie中。同时调用成员网站的Web Service接口,把刚才产生的Passid保存到

10、成员网站数据库中(建立映射关系)。 (3)重定向到成员网站。 (4)成员网站接收数据,提示会员填写个性信息,并提交到成员网站服务器。(5)保存个性信息与接收的会员验证信息到成员网站数据库与cookie中,同时在Session中保存会员已验证的状态信息。(5)导航会员到某个页面。1. Passort服务器保存新会员信息和会员验证票到数据库中。2.成员网站Web Service,在成员网站数据库中添加会员信息,利用Passid建立与Passport服务器上会员的映射关系,并返回操作成功或失败状态信息。3. 修改成员网站数据库中会员的个性信息。4.保存会员验证票到cookie中,同时保存会员通过验证

11、的状态到Session中。 表1:会员注册模块模块名称:会员登录使用者:Passport服务器与各成员网站输入部分 I处理描述 P输出部分 O1. 会员第一次登录时输入Email和密码。2. 提交会员信息到Passport服务器。说明:加载登录框之前,成员网站会首先与Passport服务器通信,获得会员是否已经登录过,根据状态加载登录框。1.在成员网站A含有登录框页面的区,利用 在页头嵌入.aspx文件(成员网站上的文件)。a.页面首先查看Session中的状态变量,如果状态变量为NULL,则查看cookie中的状态变量。b.根据Session与Cookie中状态变量的情况,实现与Passpo

12、rt服务器上的Web Service通信,确定会员是否已经登录。2.根据会员登录与否,加载登录框。3.如果没有登录,显示会员输入Email和密码的登录框。4.会员提交信息到Passport服务器上的Web Service ,通过验证后生成cookie票,并返回登录状态值和cookie票到成员网站。成员网站保存登录状态变量与cookie票。说明:会员通过任何一个成员网站登录成功后,表示已经登录了所有的成员网站。1.根据登录状态加载登录框2. 在Passport服务器上创建会员验证票,保存到数据库与cookie中3.Passport Web Service 返回登录状态值与cookie验证票到成员

13、网站。4.保存会员验证票到cookie中,同时保存会员通过验证的状态到Session中。 表2:会员登录模块模块名称:会员登出使用者:Passport服务器与各成员网站输入部分 I处理描述 P输出部分 O1.成员网站重定向到Passport服务器的登出页面,并带有返回URL,成员网站ID和验证票。1.在成员网站A重定向到Passport服务器,Passport接收cookie验证票,并验证是否合法。2.Passport修改数据库中验证票使之失效,清除cookie中的验证票。3.重定向到成员网站,清除cookie中的验证票和Session中登录状态变量。4.导航会员到某个页面。1.修改数据库中的

14、验证票使之失效,并清除cookie。 2.重定向到成员网站。表3:会员登出模块名称:修改密码使用者:Passport服务器与各成员网站输入部分 I处理描述 P输出部分 O1.成员网站重定向到Passport服务器修改密码页面,并带有返回URL,验证cookie票。2.会员输入原密码和新密码。3.提交数据。1.在成员网站A重定向到Passport服务器,Passport接收cookie验证票,并验证是否合法。2.Passport修改会员密码。3.重定向到成员网站,并带有修改成功与否的状态变量。4.导航会员到某个页面。1.修改数据库中会员的密码。 2.重定向到成员网站。表4:会员登出模块名称:找回

15、密码使用者:Passport服务器与各成员网站输入部分 I处理描述 P输出部分 O1.成员网站重定向到Passport服务器找回密码页面,并带有验证cookie票。2.会员输入Email地址3.提交数据4.激活新密码(邮箱将收到一个激活密码的URL)1.在成员网站A重定向到Passport服务器,Passport接收cookie验证票,并验证是否合法。2.Passport为会员生成新密码,并向会员邮箱中发送一个激活密码的URL。3.激活新密码4.使用新的密码登录 1.为会员生成新密码,但未激活。 2.提示会员收邮件激活新密码,激活后方可使用。 表5:找回密码模块名称:成员网站间跳转使用者:Pa

16、ssport服务器与各成员网站输入部分 I处理描述 P输出部分 O成员网站A链接到其它成员网站B,之后处理同会员登录模块。表6:成员网站跳转模块名称:票据加解密及验证使用者:Passport服务器输入部分 I处理描述 P输出部分 O1.会员Passid、票据发布时间、票据有效时间、会员其它信息数据。2.调用Web Service方法验证a. 传入Email和密码b. 传入cookie验证票1.接收成员网站请求数据(Email与密码)。2. 由会员Passid、票据发布时间、票据有效时间、会员其它信息数据生成加密的cookie验证票,并且保存到数据库和cookie中。3. 接收cookie验证票

17、,解密并验证,返回给成员网站登录状态值。1.生成加密的cookie票。 2.返回会员登录状态值。表7:票据加解密及验证3.3输入输出要求 解释各输入输出数据的类型,并逐项对格式、数值范围、精度等作出准确定义。对软件的数据输出及必须标明的控制输出量进行解释并举例,包括对硬拷贝报告(正常结果输出、状态输出及异常输出)以及图形或显示报告的描述。3.4 流程逻辑3.4.1注册流程图3.4.2会员登录流程图3.4.3 会员登出流程图3.4.4 会员修改密码流程图3.4.5 会员找回密码流程图3.4.6 成员网站间跳转流程 假设从成员网站A跳转到成员网站B,网站A提供网站B的入口链接即可。导航到网站B后,

18、其流程与会员登录流程一样。3.5对性能的规定3.5.1精度 3.5.2灵活性设计时需要充分考虑功能的扩展,使功能模块具有很强的灵活性。灵活性因素:a操作方式上的变化;b运行环境的变化;c同其他软件的接口或其他软件对该模块的集成;d精度和有效时限的变化;e计划的变化或改进。 3.6 数据管理3.6.1数据管理能力要求说明需要管理的文卷和记录的个数、表和文卷的大小规模,要按可预见的增长对数据及其分量的存储要求做出估算。比如,在数据库中设计中会员ID时,若采用自增型变量要估算会员的数量级,确定采用(int)数据类型,还(bigint)数据类型。 3.6.2数据库设计(Passport服务器)1).P

19、ass_Member(会员表) 字段名称数据类型说明备注mPassIDBigint会员ID号自增型,PK(主键)mNameNvarchar(64)会员名Email作为会员名(创建索引)mPwdNvarchar(32)会员密码数据库中保存MD5运算的结果mGBPwdNvarchar(32)会员找回密码会员找回密码时,生成的密码,会员激活后覆盖会员密码mWakeTinyint会员唤醒当和成员网站建立映射关系后,唤醒该会员mMapWebsiteNvarchar(128)会员映射的成员站点建立会员映射关系的成员网站串mRegDTDatetime会员注册时间mAreaCodeNvarchar(8) 区域

20、代号mBackNvarchar(64)预留字段预留扩展注意:成员网站的会员表,需要通过mPassID字段建立与Pass_Member表中会员的映射关系。备注:60-11-20添加两个字段(红色高亮)2).Member_WebSite(成员网站表)字段名称数据类型说明备注mWebIDint成员网站ID编号PK(主键)mWebNameNvarchar(32)成员网站名称mWebURLNvarchar(32)成员网站URLmWebIPNvarchar(16)成员网站IPmWebManagerNvarchar(16)成员网站管理员成员网站故障时,便于维护mWMTelNvarchar(16) 成员管理员

21、电话mBackNvarchar(64)预留字段预留扩展3).Member_Ticket(会员票据表)字段名称数据类型说明备注mTicketIDNvarchar(240)验证票编码PK(主键)mPassIDBigint会员ID号FK(关联Pass_Member表mPassID)issueDTDatetime票签发日期时间availDTdatetime票有效日期时间digitalSignNvarchar(32)票的数字签名用于保证票的安全mBackNvarchar(64)预留字段预留扩展4).Member_SignRecord(会员登录记录表) 字段名称数据类型说明备注IDBigint记录ID号P

22、K(主键)mPassIDBigint会员ID号FK(关联Pass_Member表mPassID)signinDTDatetime登录日期时间signinWebIDint登录网站ID编号FK(关联Member_WebSite表)signoutDTDatetime登出日期时间signoutWebIDint登出网站ID编号FK(关联Member_WebSite表)mBackNvarchar(64)预留字段预留扩展3.6.3数据处理创建作业 1、定时把验证票的记录导入的备份表中,供统计分析使用。2、定时把一天以上没有激活的会员删除3.7 Passport服务器与成员网站接口规范3.7.1 Passpo

23、rt服务器入口及调用接口a.注册入口 重定向规范:成员网站注册重定向地址: 成员网站入口参数: AppID成员网站ID号 RedirectPassport重定向地址 Passport回传参数: Ticket cookie验证票加密串 PassID会员ID号 UserName会员名称(Email) 举例:假设AppID=1;Redirect=Ticket= 53D2FD484DC6FAD75E82; UserName=davidPassID=1234则 成员网站重定向地址为:Passport重定向地址为:Web Service通信规范:若用户从成员网站A重定向到Passport服务器注册会员时,

24、Passport调用成员网站Web Service接口,建立Passport数据库与网站A数据库中会员的关联,关联字段为Pass_Member表中的mPassID。Web Service名称: pass_user_related所有者:成员网站调用者:Passport服务器输入参数:PassID:字符串,表示会员ID号 输出参数:Flag:布尔型,表示是否成功建立关联b.登录接口验证cookie票Web Service规范:成员网站本地域存在cookie验证票时,使用的接口。Web Service名称:web_ticket_auth所有者:Passport服务器调用者:成员网站输入参数:Tic

25、ketCode 字符串验证票字符串AppID字符串 成员网站ID输出参数:Flag:布尔型,表示验证票是否合法验证逻辑:只要数据库中存在该验证票,且在有效期内,即合法。HTTP本接口改为了重定向的方式,请参考下面的部分 请求通信接口规范:成员网站域不存在cookie验证票,查看Passport域是否存在。Passpport提供的URL:输入参数:无输出参数:XML格式的文本(符合RSS2.0标准),XML包含节点Flag:表示是否存在合法的验证票Ticket:表示验证票字符串PassID:表示会员ID号UserName:表示Email地址备注:Http请求,从成员网站域,向Passport域发送请求时,并不能访问到在Passport域中向客户端写的cookie值。现改成重定向的方式重定向接口规范:Passport提供的重定向地址:输入参数:Redirect字符串 Passport重定向到成员网站的地址AppID字符串成员网站ID号回传参数:Ticket 字符串验证票编号

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1