完善的单点登录.docx

上传人:scccc 文档编号:14509487 上传时间:2022-02-08 格式:DOCX 页数:13 大小:196.58KB
返回 下载 相关 举报
完善的单点登录.docx_第1页
第1页 / 共13页
完善的单点登录.docx_第2页
第2页 / 共13页
完善的单点登录.docx_第3页
第3页 / 共13页
完善的单点登录.docx_第4页
第4页 / 共13页
完善的单点登录.docx_第5页
第5页 / 共13页
点击查看更多>>
资源描述

《完善的单点登录.docx》由会员分享,可在线阅读,更多相关《完善的单点登录.docx(13页珍藏版)》请在三一文库上搜索。

1、详细设计说明书1引言1.1编写目的详细说明单点登录组件(SSO的设计思想和实现方法,是日后该组件维护和扩展工作 的根本依据文档.预期读者是要实现单点登录(SSO系统的系统设计人员,系统开发人员,系统维护人员.1.2背景说明:a.待开发软件系统的名称;jillzhang的SSO组件b.本工程的任务提出者为jillzhang、开发者为jillzhang、用户为有用户整合需求平台的开发和设计人员.1.3定义SSO是Single Sign On的缩写,该技术主要用于用户整合.认证中央:认证中央是用户注册,成员站点治理,用户登录,验证登录信息,保存登录 信息,颁发登录认证的中央站点.成员站点:成员站点是

2、遵从认证中央规那么,享用认证中央统一用户的站点.注册站点:如果想成为成员站点, 必须先在认证中央进行站点登记,登记后,认证中央会保存注册站点的配置信息,并将该配置信息发给注册站点.注册站点也需保存这些配置信息,供日后与认证中央交互时候使用.联盟用户:指在认证中央注册的用户,这些用户能被所有的成员站点所共享.登录请求:指成员站点向认证中央发出的带有站点配置的用户登录请求信息.登出请求:只用户向认证中央发出的要求退出登录的请求.登录请求验证:指的是认证中央根据存储的站点信息对成员站点的登录请求信息进行来 源和真实性的验证.登出请求验证:指认证中央在接受来自成员站点的登出请求的时候,对请求的来源和真

3、实性进行的验证登录答复:指认证中央对经过验证的登录请求作出的答复信息.该答复包含用户的登录信息.在线联盟用户数:指的是在成员站点中,在线的联盟用户数量.在线联盟用户列表:指的是在成员站点中,在线的联盟用户的列表信息.登录站点清单:是由认证中央维护的用户的登录站点信息,当用户注销的时候, 会遍历此清单,逐个登出.1.4参考资料本组件的设计和实现参考了下面的系统和书籍a.b.?数字签名技术原理及技术?2程序系统的结构本组件包括下面几个应用接口,分别如下:1) ISite: ISite是用于描述和操作成员站点的接口2) IUser : IUser是用于描述和操作联盟用户的接口3) IServer:I

4、Server是认证中央处理登录请求和登出请求的接口4) IClient: IClient是成员站点发出登录请求和处理登录答复的接口5) IUserLoginList: IUserLoginList是描述和操作用户登录站点清单的接口6) ILoginRequest:是记录和操作成员站点发送登录请求的接口.7) ILoginRequestContainer :用于保存和维护登录请求列表的接口8) IUserStateContainer :是联盟站点中保存用联盟用户登录信息的接口. 它们的定义如下:认证中央的相关接口定义Iiilet oxf aca-JStt“军 二=1丁二 M7 J 土 二!?:

5、23* -5rifflE5afE , j Tris? 身上=在十上身 一号 PzbJ j m工工型痕岁.,J 膂二欠壬irHf ji-rx-j- Tjy S/ES心: 1stT&!/El方法7 /高*11 ; yWV T工丁士父0 : e上ISex-vz- Int ar-fem-属性寸 SJfff .-2=J 三 上稣3方法 -=- -.Erf.- is t: g* : ; m3Q SEurO;笛1 3rT F后一,丁力门 - Z工 Us: uhL. ;gi sLid二 g t iHf 急亡-方法q金小川二e豆i与二二白生匕匕.:w1-C- L-y - H型性寸 -=i3f/ = * trfj

6、ztr L , JtruzfG方法 叩id Tiaicte ?-事目看;联盟站点的相关接口定义jy 门露虫if .雪 LI f x tr fn j方法-感性IClientLd 1fmesl Inierf iceS星性工 Lu 疝 ntfqiEWtCv a 工DO工14slra.用“匕j ni ilETr*ieQ方法*: mJ7 h 二?占占3:/ /土上;:,:23= 口/0 j ms组件的工作流程描述如下:1第一步,首先注册联盟站点,注册联盟站点用到接口ISite2第二步:注册好联盟站点之后,将认证中央产生的站点配置信息包括站点编号, 站点公钥,站点私钥,认证中央的登录地址,认证中央登出地址

7、存储到联盟站点 本地.3在认证中央上注册一新用户,注册用户需要使用IUser接口4在联盟站点对认证中央发出登录请求5 认证中央验证登录请求6在认证中央进行登录7登录成功后,保存登录票据,认证中央对联盟站点发送登录答复,并将此次登录记录到登录站点清单8联盟站点接收到登录答复后,先进性验证,正确后,根据登录答复中的信息产生用户登录票据,并且更新联盟用户登录数和登录列表9在联盟站点中发出登出请求10认证中央验证登出请求,正确的话,销毁认证中央用户登录票据,通过用户的登录站点清单,逐个调用联盟站点的登出页面11在认证中央回调联盟站点的登出页的时候,联盟站点会在登出页中销毁各个的登录票据,并更新在线用户

8、数和用户列表.3 ISite接口设计说明3.1 接口描述ISite接口包括7个属,f和2个方法,分别用于在认证中央用于描述和操作站点的配置 信息.其中,各个属性的含义如下属性名称含义SitelDstring站点编号,用于表示站点的唯 一性.HomePagestring当登录请求中未提供来源网 址项的时候,登录答复发送的 地址LogOutUrlstring在进行统一登出的时候,回调 的联盟站点页面地址,这个页 面会负责销毁本站的登录票 据信息.PublicKeystring用于数据交换时加密或签名 用的公钥PublicAndPrivateKeystring用于数据交换时加密或签名 用的私钥Fro

9、mUrlKeystring用于指示联盟站点在发送登 录请求和认证站点进行请求 验证的时候来源网址存储位 置.UidFieldstring用于指示联盟站点在发送登 录请求和认证站点进行请求 验证的时候用户信息的存储还包括两个方法,分别为:方法名含义和作用Add添加新的联盟站点.Validate验证联盟对象是否已经存在3.2 功能该接口能在认证中央完成新联盟站点添加操作,添加之前可以验证站点是否存在.3.3 默认实现在SSO组件中,已经实现了一个默认的 ISite对象.为 Defaultserver/ DefaultSite.cs,它 将放置在认证中央根目录下的 sites.config文件作为存

10、储介质,通过 Add方法添加新联盟站点后的效果为:附件中的site.config文件,可自行下载文件后,看其结构.4 IUser接口设计说明4.1 接口描述IUser接口包括2个属性和2个方法,用于在认证中央端描和操作述联盟用户.其中,各个属性的含义如下属性名称回含义Uidstring用户编号,是用户的标识Pwdstring用户密码还包括两个方法,分别为:方法名含义和作用Validate验证用户是否存在Register添加新用户4.2 功能该接口能在认证中央完成新联用户添加操作,添加之前可以验证用户是否存在.4.3 默认实现在SSO组件中,已经实现了一个默认的 IUser对象.为Default

11、server/ DefaultUser.cs ,它 将放置在认证中央根目录下的 users.config文件作为存储介质,通过 Register方法添加新联盟用户的效果为:附件中的users.config文件,可自行下载文件后,看其结构.5 IUserLoginList 接口设计说明5.1 接口描述IUserLoginList接口包括3个方法,用于在认证中央描述和操作用户登录的站点清单.还包括三个方法,分别为:方法名含义和作用Add验证用户是否存在GetLoginSites获取用户的登录站点清单DeleteUser删除用户的登录站点清单数据5.2 功能该接口在认证中央用于用户记录和维护用户登录

12、的站点清单5.3 默认实现在 SSO组件中,已经实现了一个默认的IUserLoginList对象.为 Defaultserver/ UserLoginLog.cs,它通过一个Collection对象来实现用户登录站点清单的维护工作.6 IServer接口设计说明6.1 接口描述IServer接口包括2个属性和5个方法,用于接收,验证登录请求,发送登录答复,接 搜,验证登出请求,创立本地登录票据,维护用户登录清单.两个属性为:属性名称含义SiteISite当前上卜文处理请求和答复 的站点对象Uidstring当前处理的上卜文中的用户 编R还包括三个方法,分别为:方法名含义和作用CheckUser

13、验证用户对象是否存在CheckExistToken验证登录票据已经存在SaveToken在认证中央本地保存登录票据Jump通过url跳转,发送登录答复LogOut统一登出.6.2 功能该接口在认证中央,用于接收,验证登录请求,发送登录答复,接搜,验证登出请求,创立本地登录票据,维护用户登录清单6.3 默认实现在SSO组件中,已经实现了一个默认的IServer对象.为Defaultserver/ LoginRequest.cs.7 ILoginRequest接口设计说明7.1 接口描述ILoginRequest接口包括2个属性,用于记录和描述联盟站点的登录请求,这些信息在发出登录请求的时候创立,

14、在收到登录答复的时候销毁. 用于保证登录答复的不可复用性.两个属性为:属性名称含义Identitystring登出请求标志付,该标志付会 发送给效劳端,效劳端在发送 登录答复的时候会回传该标 志,联盟站点会根据此标志来 验证请求是否是伪造的.TimeStampDateTime请求的时间戳7.2 功能该接口在联盟站点,用于记录和描述联盟站点的登录请求,这些信息在发出登录请求的时候创立,在收到登录答复的时候销毁.用于保证登录答复的不可复用性.7.3默认实现7.3 默认实现在 SSO组件中,已经实现了一个默认的ILoginRequest对象.为 Defaultserver/ LoginRequest

15、.cs.8 ILoginRequestContainer 接口设计说明1.1 接口描述ILoginRequestContainer接口包括3个方法,用于在联盟站点中记录和维护登录请求方法名含义和作用Add添加登录请求信息Check检宜登出清,求7杳 存在Remove销毁存在的登录请求1.2 功能该接口在联盟站点,用于在联盟站点中记录和维护登录请求1.3 默认实现在SSO组件中,已经实现了一个默认的ILoginRequestContainer对象.为 Defaultserver/LoginRequestContainer.cs.9 IUserStateContainer 接口设计说明9.1 接口

16、描述IUserStateContainer接口包括5个方法,用于在联盟站点中记录和维护在线联盟用户信 息方法名含义和作用Add添加登录用户GetList获取在线用户清单Check检查某个用户是否已经在线Remove移除某个在线用户.GetUserCount获取在线用户个数9.2 功能该接口在联盟站点,用于在联盟站点中记录和维护在线联盟用户信息9.3 默认实现在SSO组件中,已经实现了一个默认的IUserStateContainer对象.为 Defaultserver/UserState.cso10 IClient接口设计说明10.1 接口描述IClient接口包括6个属性和2个方法,用于发出登

17、录请求和登出请求8个属性为:属性名称回含义SiteIDstring站点编号PrivateKeystring数据交换时加密或者签名用 的公钥LoginAddressstring认证中央登录地址LogoutAddressstring认证中央登出地址Uidstring登录的用户编号TimeOutint登录答复的超时时间, 单位sUidFieldstring登录登出请求中的用户信息 的存储位置FromUrlFieldstring登录请求中的来源网址存储2个方法为方法名含义和作用Login发出登录请求,并处理登录答复LogOut登出10.2 功能该接口在联盟站点,用于发出登录请求和登出请求在SSO组件中

18、,已经实现了一个默认的10.3 默认实现IClient 对象.为 Defaultserver/ DefaultClient.cs11本系统的平安性11.1 登录请求的格式联盟站点向认证中央发送的登录请求格式如下:站点信息+登录请求编号+时间戳+空用户信息+对站点信息和登录清秋号的签名信息.除了签名信息之外的全部信息均为明文传送,但由于重要的数据均经过数字签名,结果是站点信息和登录请求编号是不能被篡改的,保证了认证中央收到的登录请求的真实性.11.2 登录答复的格式认证中央发给联盟站点的登录答复格式如下登录用户信息+登录请求编号+时间戳+对用户信息和登录请求号和时间戳的签名信息 其中登录用户信息是经过非对称加密的.请求号和时间戳由于经过签名,故也不能篡改,这样就可以保证联盟站点收到的登录答复的真实性和完整性.并且非正常联盟站点无法解密用户信息,也无法从中获取好处.11.3 请求+答复流程图

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1