单点登录系统(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图表
备注:红色高亮部分,表示修改的逻辑
表1:会员注册模块
表2:会员登录模块
表5:找回密码
表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后,其流程与会员登录流程一样。
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).Pass_Member(会员表)
注意:成员网站的会员表,需要通过mPassID字段建立与Pass_Member表中会员的映射关系。
备注:60-11-20添加两个字段(红色高亮)2).Member_WebSite(成员网站表)
3).Member_Ticket(会员票据表)
4).Member_SignRecord(会员登录记录表)
3.6.3数据处理
创建作业
1、定时把验证票的记录导入的备份表中,供统计分析使用。
2、定时把一天以上没有激活的会员删除
3.7 Passport服务器与成员网站接口规范
3.7.1 Passport服务器入口及调用接口
a.注册入口
重定向规范:成员网站注册重定向地址:
https://www.wendangku.net/doc/df7826171.html,/register.tc
成员网站入口参数: AppID 成员网站ID号
Redirect Passport重定向地址
Passport回传参数: Ticket cookie验证票加密串
PassID 会员ID号
UserName 会员名称(Email) 举例:
假设AppID=1;Redirect=https://www.wendangku.net/doc/df7826171.html,/index.aspx Ticket= 53D2FD484DC6FAD75E82; UserName=david@https://www.wendangku.net/doc/df7826171.html, PassID=1234
则成员网站重定向地址为:
https://www.wendangku.net/doc/df7826171.html,/register.aspx?AppID=1&Redirect=http://www.w https://www.wendangku.net/doc/df7826171.html,/register.aspx
Passport重定向地址为:
https://www.wendangku.net/doc/df7826171.html,/index.aspx?Ticket=53D2FD484DC6FAD75E82&PassID=1 234&UserName=david@https://www.wendangku.net/doc/df7826171.html,
Web Service通信规范:
若用户从成员网站A重定向到Passport服务器注册会员时,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服务器
调用者:成员网站
输入参数:TicketCode 字符串验证票字符串
AppID 字符串成员网站ID
输出参数:Flag:布尔型,表示验证票是否合法
验证逻辑:只要数据库中存在该验证票,且在有效期内,即合法。
HTTP[本接口改为了重定向的方式,请参考下面的部分]请求通信接口规范:成员网站域不存在cookie验证票,查看Passport域是否存在。
Passpport提供的URL:https://www.wendangku.net/doc/df7826171.html,/pass_ticket_exist.aspx
输入参数:无
输出参数:XML格式的文本(符合RSS2.0标准),XML包含节点
Flag:表示是否存在合法的验证票
Ticket:表示验证票字符串
PassID:表示会员ID号
UserName:表示Email地址
备注:Http请求,从成员网站域,向Passport域发送请求时,并不能访问到在Passport域中向客户端写的cookie值。现改成重定向的方式
重定向接口规范:
Passport提供的重定向地址:
https://www.wendangku.net/doc/df7826171.html,/pass_ticket_exist.aspx
输入参数:Redirect 字符串 Passport重定向到成员网站的地址
AppID 字符串成员网站ID号
回传参数:Ticket 字符串验证票编号
PassID 字符串会员ID号
UserName 字符串会员名称
举例:
假设: Redirect=
https://www.wendangku.net/doc/df7826171.html,/Public/Login_State.aspx
AppID=1
Ticket=53D2FD484DC6FAD75E82
PassID=1234
UserName=david@https://www.wendangku.net/doc/df7826171.html,
则:则成员网站重定向地址为:
https://www.wendangku.net/doc/df7826171.html,/pass_ticket_exist.aspx?AppID=1&Redirect=htt p://https://www.wendangku.net/doc/df7826171.html,/Public/Login_State.aspx
Passport重定向地址为:
https://www.wendangku.net/doc/df7826171.html,/Public/Login_State.aspx?
Ticket=53D2FD484DC6FAD75E82&PassID=1234&UserName=david@https://www.wendangku.net/doc/df7826171.html,
登录框提交接口规范:成员网站输入Email和密码提交到Passport的地址。
提交到Passport的地址:
https://www.wendangku.net/doc/df7826171.html,/pass_login.aspx
成员网站入口参数:Email 会员名
Pwd 会员密码
AppID 成员网站ID
Redirect Passport重定向地址
Passport回传参数: Ticket 字符串,cookie验证票加密串
PassID 字符串,会员ID号
UserName 字符串,会员名称(Email)
Flag 登录成功与否标识 2-成功(会员存在)3-失败(会员名不存在)4-密码不正确,5-数据库错误
举例:
假设:Passport重定向地址为
https://www.wendangku.net/doc/df7826171.html,/default.aspx
则,Passport服务器重定向到成员网站的地址是
https://www.wendangku.net/doc/df7826171.html,/default.aspx?Ticket=53D2FD484DC6FAD75E82&PassID =1234&UserName=david@https://www.wendangku.net/doc/df7826171.html,&Flag=1
c.登出接口
重定向规范:
成员网站登出重定向地址:
https://www.wendangku.net/doc/df7826171.html,/Public/logout.aspx
成员网站入口参数:AppID 字符串,成员网站ID号
Ticket 字符串,cookie验证票
Redirect 字符串,Passport重定向地址
Passport回传参数: Flag 字符串,1-表示成功从Passport登出;0-票不合法;-1-失败(数据库错误)
举例:
假设AppID=1;Redirect=https://www.wendangku.net/doc/df7826171.html,/index.aspx Ticket= 53D2FD484D
Flag=1
则,成员网站重定向到Passport的地址为
https://www.wendangku.net/doc/df7826171.html,/Public/logout.aspx?AppID=1&Ticket=53D2FD484 D&Redirect=https://www.wendangku.net/doc/df7826171.html,/index.aspx
Passport服务器重定向到成员网站的地址为:https://www.wendangku.net/doc/df7826171.html,/index.aspx?Flag=1
d.修改密码接口
重定向规范:
成员网站修改密码重定向地址:
https://www.wendangku.net/doc/df7826171.html,/Public/pwd_mod.aspx
成员网站入口参数:AppID 字符串,成员网站ID号
Ticket 字符串,cookie验证票
Redirect 字符串,Passport重定向地址
Passport回传参数: Flag 字符串,1-成功;0-验证票不合法;-1-数据库错误
举例:
假设AppID=1;Redirect=https://www.wendangku.net/doc/df7826171.html,/index.aspx
Ticket= 53D2FD484D
Flag=1
则,成员网站重定向到Passport的地址为
https://www.wendangku.net/doc/df7826171.html,/Public/pwd_mod.aspx?AppID=1&Ticket=53D2FD48 4D&Redirect=https://www.wendangku.net/doc/df7826171.html,/index.aspx
Passport服务器重定向到成员网站的地址为:
https://www.wendangku.net/doc/df7826171.html,/index.aspx?Flag=1
e.找回密码接口
重定向规范:
成员网站找回密码重定向地址:
https://www.wendangku.net/doc/df7826171.html,/Public/getback_pwd.aspx
成员网站入口参数:AppID 字符串,成员网站ID号
Ticket 字符串,cookie验证票
Passport回传参数: Passport服务器发送密码激活地址(其中有验证票字符串)到会员邮箱,供激活密码。
激活地址:
https://www.wendangku.net/doc/df7826171.html,/pwd_awake.aspx?Ticket=53D2FD484D
举例:
假设AppID=1;Ticket= 53D2FD484D
则,成员网站重定向到Passport的地址为
https://www.wendangku.net/doc/df7826171.html,/getback_pwd.aspx?AppID=1&Ticket=53D2FD484D
UI用户界面设计 大作业课程设计报告 题目:依依旅行系统前台应用及后台管理院别:信息与控制学院 专业:计算机科学与技术 学生姓名: 7宋依依 指导教师:孙丽云 成绩: 2015年 6 月 12 日 一、系统概述 1.1课程设计题目: 依依旅行系统前台及后台管理 1.2 课程设计运行环境: Java,MyEclipse6.5,Tomcat5.x Microsoft SQL Server 2008 360安全浏览器7.1 1.3 课程设计实现技术: 基于HTML,CSS,JSP等技术的应用 二、依依旅行系统需求分析 2.1系统功能需求:
系统的功能需求包括一下几个方面 (1)游客在不登录的情况下只可以进行相关旅行,车票,酒店信息的查询。(2)游客通过注册登录或者登录后,可以通过网络查询景点的信息概况和预定景点票,酒店,车票(飞机票,火车票,或者租车)。 (3)游客登录后还可以进行各种订单的退订,个人信息的修改。 (4)系统管理员可以查看游客的预定请求和取消预定的请求。 (5)系统管理员可以对系统的数据库进行维护,例如增加、删除和修改景点信息,增加、删除工作人员帐户,增加和删除旅行用户。 三、依依旅行系统概要分析 3.1旅游系统模块介绍 满足以上需求的管理系统主要包括以下几个模块。 (1)旅游数据维护模块 基本数据维护模块提供了使用者录入、修改并维护基本数据的途径。例如对游客及导游及工作人员各项信息的更新和修改。 (2)旅游业务模块 基本业务模块主要用于实现游客查询景点信息和预定的管理,可以登陆系统预定景点游票和导游预定,工作人员可以处理预定信息和取消预定信息等操作。 (3)数据库管理模块 在系统中,所有景点信息以及工作人员和导游的帐户信息都要进行统一管理,景点的使用情况和预定情况也要进行详细的记录,要用统一的数据库平台进行管理。 (4)旅游信息查询模块 信息查询模块主要用于查询景点的信息和游客的预定信息。 下图所示表示了旅游开发管理系统的功能需求: 3.2旅游数据维护模块 数据维护模块包括如下图所示的几个方面: (1)修改更新景点信息:系统管理员可以更新和修改景点信息。 (2)更新和修改信息:系统管理员可以更新和修改旅游景点和酒店出行,删除游客的信息。 (3)添加景点信息:系统管理员可以添加景点及景点信息。 (4)删除景点信息:系统管理员可以删除景点及景点信息。 3.3旅游业务模块 旅游业务模块包括一下几个方面: (1)注册登陆后,更改个人信息 (2)查询信息:游客查询景点使用信息及景点概括信息。 (3)预定取消景点:游客预定景点票。 (4)酒店预订:游客可一根据情况预定酒店。 (5)出行方式:游客可以根据自己的情况选择出行方式。 3.4数据库管理模块 数据库模块包括一下一个方面: (1)游客信息管理:信息包括游客的姓名,电话号码,及联系方式等。(2)景点信息管理:景点信息包括景点的名称,代号,概况等。
基础支撑平台
第一章统一身份认证平台 一、概述 建设方案单点登录系统采用基于Liberty规范的单点登录ID-SSO系统平台实现,为数字化校园平台用户提供安全的一站式登录认证服务。为平台用户以下主要功能: 为平台用户提供“一点认证,全网通行”和“一点退出,整体退出”的安全一站式登录方便快捷的服务,同时不影响平台用户正常业务系统使用。用户一次性身份认证之后,就可以享受所有授权范围内的服务,包括无缝的身份联盟、自动跨域、跨系统访问、整体退出等。 提供多种以及多级别的认证方式,包括支持用户名/密码认证、数字证书认证、动态口令认证等等,并且通过系统标准的可扩展认证接口(如支持JAAS),可以方便灵活地扩展以支持第三方认证,包括有登录界面的第三方认证,和无登录界面的第三方认证。 系统遵循自由联盟规范的Liberty Alliance Web-Based Authentication 标准和OASIS SAML规则,系统优点在于让高校不用淘汰现有的系统,无须进行用户信息数据大集中,便能够与其无缝集成,实现单点登录从而建立一个联盟化的网络,并且具有与未来的系统的高兼容性和互操作性,为信息化平台用户带来更加方便、稳定、安全与灵活的网络环境。 单点登录场景如下图所示:
一次登录认证、自由访问授权范围内的服务 单点登录的应用,减轻了用户记住各种账号和密码的负担。通过单点登录,用户可以跨域访问各种授权的资源,为用户提供更有效的、更友好的服务;一次性认证减少了用户认证信息网络传输的频率,降低了被盗的可能性,提高了系统的整体安全性。 同时,基于联盟化单点登录系统具有标准化、开放性、良好的扩展性等优点,部署方便快捷。 二、系统技术规范 单点登录平台是基于国际联盟Liberty规范(简称“LA”)的联盟化单点登录统一认证平台。 Liberty规范是国际170多家政府结构、IT公司、大学组成的国际联盟组织针对Web 单点登录的问题提供了一套公开的、统一的身份联盟框架,为客户释放了使用专用系统、不兼容而且不向后兼容的协议的包袱。通过使用统一而又公开的 Liberty 规范,客户不再需要为部署多种专用系统和支持多种协议的集成复杂度和高成本而伤脑筋。 Liberty规范的联盟化单点登录SSO(Single Sign On)系统有以下特点: (1). 可以将现有的多种Web应用系统联盟起来,同时保障系统的独立性,提供单点 登录服务;
用户管理系统设计 指导老师:崔老师 组长:罗文文 组员:黄丽徐丽安华林雷微微
目录 一、 -------------------------------------------------------概述 1.----------------------------------------------------- - 项目名称 2.----------------------------------------------------- - 功能概述 3.----------------------------------------------------- - 开发环境及框架 4.----------------------------------------------------- - 用户环境 二、--------------------------------------------------- ----项目框架优点 1.----------------------------------------------------- - springmvc介绍 2.----------------------------------------------------- - easyUI介绍 3.----------------------------------------------------- - jquery介绍
4.----------------------------------------------------- - hibernate介绍 三、--------------------------------------------------- ----项目需求分析 四、--------------------------------------------------- ----流程介绍 五、--------------------------------------------------- ----数据库信息设计 六、--------------------------------------------------- ----功能模块介绍 七、--------------------------------------------------- ----项目具体实现 八、--------------------------------------------------- ----总结 一:概述 1.项目名称 用户信息管理系统 2.功能概述 用户管理系统主要是用于公司方便来管理人员的,本系统主要是对用户个人信息的管理,包
用SSH框架整合实现注册登录系统 注册登录系统几乎是每一个web程序必须拥有的功能,因此,在本次课程设计中将其单独提取出来,并使用SSH框架的整合来实现这个系统。虽然注册和登录系统并不复杂,但这两个子系统却拥有一个完整系统的必要功能,如验证客户端输入、数据库访问等。因此,通过本次课程设计的练习,大家可以基本上了解使用SSH框架整合开发一个完整系统的一般步骤。 本次课程设计的主要内容有: ●系统概述 ●设计数据库 ●SSH三大框架的整合 ●MD5加密的实现(选做) ●注册系统的实现 ●登录系统的实现
1、系统概述 本次课程设计练习了一个简单的Web系统,该系统实现了用户注册、用户登录两个功能。本系统的实现是基于SSH框架整合技术的。本系统功能单一,业务逻辑简单。主要用于大家练习如何使用SSH框架整合技术开发一个完整的Web 系统。 1.1系统功能简介 本系统分为两个功能:注册和登录,当用户注册一个新用户时(可以使用英文和中文用户名),就是向数据库的user表中添加一条记录。 当用户输入注册信息时,本系统提供了基本的客户端验证,来判断用户输入的合法性,只有当用户的输入满足系统的要求时,才会将用户输入的数据提交到服务器端负责处理注册信息的Action。在注册Action成功处理完用户提交的注册信息后,客户端仍然会回到注册页面。如果用户想使用已经注册的用户名来登录,可以通过单击“登录”超链接转到登录页面进行登录。 当用户在登录页面正确输入在数据库中已经存在的用户名和密码时,就可以成功登录了。在用户登录页面也拥有和用户注册页面类似的客户端验证机制。也就是说,只有当用户名和密码都输入时,系统才会向服务器端负责登录的Action 提交信息。通过验证用户名和密码都正确,系统才允许登录。 1.2系统总体结构 本系统的注册系统和登录系统是相互独立的,但可以通过使用注册和登录系统的相应超链接导航到另一个系统中。每一个系统分别由一个处理业务逻辑的Action、DAO层代码和若干个JSP页面组成。其中注册系统的Action是RegisterAction类,另外还有一个用于显示用户注册页面的register.jsp文件和一个负责显示处理结果的result.jsp文件。登录系统的Action是LoginAction类,另外还有一个login.jsp文件和一个表示用户已经成功登录的success.jsp文件。用户注册登录系统的工作流程图如下图所示:
实训四设计用户系统的注册及登录 一、实训目的 1.能正确设计用户注册程序。 2.能正确设计用户登录程序。 3.能正确设计用户的管理程序。 二、工作任务 任务1:将静态注册页面转换成动态ASP文件页面,设置表单对象。 任务2:为网页设置引用文件。 任务3:为注册页面编程,实现对填写的注册信息进行判断的功能,并将注册信息写入数据库。 任务4:为登录页面编程,实现登录功能,并出现欢迎用户登录的界面。 三、实训步骤 (一)编程实现用户注册功能 首先创建注册界面 图1注册界面 任务1操作方法: 1)用dreamweaver打开前面我们所创建的动态网站,将项目三中所设计的静态注册页面reguser.html复制一份并改名为reguser.asp,其中注册部分页面如图2如所。
图2注册界面 3)选择标签