文档库 最新最全的文档下载
当前位置:文档库 › 单点登录系统(SSO)设计说明书

单点登录系统(SSO)设计说明书

单点登录系统(SSO)设计说明书
单点登录系统(SSO)设计说明书

单点登录系统(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用户界面设计课程设计报告

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.功能概述 用户管理系统主要是用于公司方便来管理人员的,本系统主要是对用户个人信息的管理,包

JAVA Web课程设计--注册登录系统-- 用SSH框架整合实现注册登录系统

用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)选择标签

,将其属性按图3修改,将表单名称命名为fom1,动作右侧的文本框中输入reguser.asp?act=reg,其含义为此表单提交到本页处理,并附加参数act=reg,此参数含义为表单填写完成后提交表单进行注册的参数传递,方法右侧的列表中选择post,其它方面可以忽略。 图3表单属性 4)依照表1修改各个表单元素的名称,以方便程序的编写。 表1注册表单中各表单元素的名称 文本名称表单元素名称文本名称表单元素名称 用户名f_user固定电话f_tel1f_tel2 密码f_code手机号码f_mtel 姓名f_name其他联系f_contact 性别f_sex提交submit 详细地址f_addr 重置reset 设计思想: 当用户输入注册信息时,如果用户名或密码没有填写时系统出现提示信息“用户名或密码不能为空!”,并将重新注册; 如果用户名在数据库中已经存在通过判断语句系统会有弹出提示信息“用户名已经存在,请重新注册!”,本教材的其他信息并不要求必须输入,读者可以自己设计; 将用户信息写入到数据库的tbl_user表中保存,注册成功时会有弹出信息“注册成功!”,单击“确定”按钮将跳转到登录页面可供用户登录,如果注册失败弹出提示信息,并说明注册失败的原因。 任务2操作方法: 1)先创建一个数据库连接文件db.asp,代码: <% dim conn,dbpath set conn=Server.CreateObject("adodb.connection") DBPath = Server.MapPath("db/tygasp.mdb") conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="& DBPath %>

单点登录系统(SSO)详细设计说明书

单点登录系统(SSO)详细设计说明书 1、引言 1.1编写目的 为了单点登录系统(SSO系统)的可行性,完整性,并能按照预期的设想实现该系统,特编写需求说明书。 同时,说明书也发挥与策划和设计人员更好地沟通的作用。 1.2背景 a.鉴于集团运营的多个独立网站(称为成员站点),每个网站都具有自己的身份验证机制,这样势必造成:生活中的一位用户,如果要以会员的身份访问网站,需要在每个网站上注册,并且通过身份验证后,才能以会员的身份访问网站;即使用户以同样的用户名与密码在每个网站上注册时,虽然可以在避免用户名与密码的忘记和混淆方面有一定的作用,但是用户在某一段时间访问多个成员站点或在成员站点间跳转时,还是需要用户登录后,才能以会员的身份访问网站。这样不仅给用户带来了不便,而且成员网站为登录付出了性能的代价; b.如果所有的成员网站,能够实现单点登录,不仅在用户体验方面有所提高,而且真正体现了集团多个网站的兄弟性。通过这种有机结合,能更好地体现公司大平台,大渠道的理念。同时,这样做也利于成员网站的相互促进与相互宣传。 正是出于上面的两点,单点登录系统的开发是必须的,是迫在眉睫的。1.3定义 单点登录系统提供所有成员网站的“单一登录”入口。本系统的实质是含有身份验证状态的变量, 在各个成员网站间共用。单点登录系统,包括认证服务器(称Passport服务器),成员网站服务器。 会员:用户通过Passport服务器注册成功后,就具有了会员身份。 单一登录:会员第一次访问某个成员网站时,需要提供用户名与密码,一旦通过Passport服务器的身份验证, 该会员在一定的时间内,访问任何成员网站都不需要再次登录。 Cookie验证票:含有身份验证状态的变量。由Passport服务器生成,票含有用户名,签发日期时间, 过期日期时间和用户其它数据。

BS系统界面设计与开发详解

B/S系统界面设计与开发详解 早在中国IT业方兴未艾之时,计算机应用系统主要以功能实现为主,几乎没有界面设计这个概念。时至今日,随着计算机和网络的不断普及,社会信息化程度日益加深,用户和市场的不断成熟,人们已经不仅仅满足于“够用”,而是更加强调“好用”“易用”;因此,不论是普通最终用户的个人软件,还是企业应用的大型系统,界面设计在系统构建中都成为了一个非常重要的方面。 但是,(至少在中国)由于IT业发展滞后、市场还不够成熟等原因,在绝大多数企业中,界面设计在软件系统开发中还没有获得与之重要性相匹配的一席之地,并且在企业运作和协调中也没有形成成熟的模式和解决方案,如何做好界面设计和开发,仍然是大家不断研究探讨的一个问题。 这篇文章,主要内容是我参加一个面向质检行业的Web系统界面设计和开发工作的过程,包括其间的一些构思和想法;其目的就是希望能和大家一起探讨一下这个问题,希望能供大家参考,起到抛砖引玉的作用。 另外,我同时承担了系统开发和界面设计工作,所以,虽然这是一篇讨论界面设计的文章,我也尽量把文章限制在界面设计范围内,但也有可能包含一些开发和系统设计的内容,请大家辨析清楚,欢迎指正。1.工作流程 下图,是整个开发过程中与界面设计相关的主要流程工作。

从最初需求分析开始,我就加入项目,自始自终参加整个开发过程。 在需求分析阶段,参与了对客户的访问和调研; 在概要设计阶段,参与了部分系统设计分析工作; 在详细设计阶段,完成了整个系统界面设计和Demo制作,并提交用户反馈; 在代码开发阶段,参与了系统表现层的设计开发。 2.需求分析 在需求分析阶段,主要针对界面交互相关问题,对用户进行若干调研。 主要包括以下内容 ·受众用户群调查 ·系统使用环境调查 ·受众用户使用习惯调查 ·用户对旧版本软件使用情况调查 这一阶段,由于成本原因,我并没有直接访问客户进行调查。工作主要是提出某些具体问题,由需求调研人员,以问卷或口头问答方式,对客户进行调研。另外,公司经验丰富的客服人员和市场人员,也是非常重要的需求来源之一。 本系统的客户群主要为国家省市下属质检单位,最终受众年龄从年轻到较高龄都有。对于普通国家机关人员,一般对计算机系统和网络不够熟悉,计算机环境一般,甚至比较差,少有配置优良的环境。在这种环境下,用户对计算机使用一般没有使用倾向,大多更适应手工操作。对本系统的前代使用,最主要意见是使用困难,不方便。 还有其他具体调查反馈,如用户基本不使用鼠标右键,年龄较大的用户难以看清密集的较小文字等等。 3.界面设计原则 在概要设计阶段,根据需求阶段的调研结果,我整理了系统界面设计的基本原则。因为在代码开发阶段,很多时候界面的具体制作是由开发人员直接写代码,因此必须确定一定的原则和规范,以保证系统界面的统一。 一般适用原则 ·简单明了原则:用户的操作要尽可能以最直接最形象最易于理解的方式呈现在用户面前。对*作接口,直接点击高于右键*作,文字表示高于图标示意,尽可能的符合用户对类似系统的识别习惯。 ·方便使用原则:符合用户习惯为方便使用的第一原则。其它还包括,实现目标功能的最少*作数原则,鼠标最短距离移动原则等。 ·用户导向原则:为了方便用户尽快熟悉系统,简化操作,应该尽可能的提供向导性质的*作流程。 ·实时帮助原则:用户需要能随时响应问题的用户帮助。 ·提供高级自定义功能:为熟悉计算机及软件系统的高级用户设置自定义功能,可以对已经确定的常规操作以及系统的方方面面进行符合自身习惯的自定义设置。包括常规操作、界面排版、界面样式等种种自定义。

登录系统设计个人小结

项目实训总结 通过本次课程设计,我感受颇多,尽管上课时也认真听了老师的讲课,但是已开始面对自己的题目时,还真是有些不知所措,都不知道如何下手,后来鼓起勇气着手实训,纵然前面会很多挫折,硬着头皮开始了。 本次实训是分工合作形式,我负责JSP页面设计,在这过程中,要设计登录界面,管理员,教师和学生的相关功能。我负责了部分代码的完成,对于第一次合作完成一个完整教务登录管理系统确实有些摸不着头脑。然而,经过这差不多四个星期来的学习与编码,总算还是收获不少,对JavaEE的认识也更加的深刻了。JSP是一门新技术,他基于Java Servlet以及整个JavaEE框架体系的Web开发技术。从网上得知JavaEE的中文问题历史悠久,连绵不绝,至今也没有完全解决,但是上有政策下有对策,我们总是有办法搞定它的。跟JavaEE相关的中文问题主要有两类,一类是编程的问题,涉及到I/O,内码转换等。第二类是JavaEE运行环境的配置,涉及字体,属性配置等。觉得很有必要给自己写个备忘录之类的。学习了JavaEE,感触很深,这一技术是需要有一定基础、而且动手能力强的学科。书上也强调一点是:要想真正地掌握JavaEE技术,必须有较好的java语言基础,以及HTML语言方面的知识。想想的确对啊。 在这个过程中,我感觉就像人生的一个缩影,充满了酸甜苦辣。当一个问题想了好久也无法解决时,我感到沮丧与无助。当经过努力解决了一个程序上的难题时,我感到无比的喜悦。当经过每天为了编写代码一坐就是四五个小时,晚上还要写到凌晨一两点钟的时候,我感到无比的痛苦。但艰难痛苦已成往事,灿烂的明天向我走来,今天我总算迎接了胜利的果实,以前的辛酸与痛苦化作我坚强的力量,将在我将来的人生历程中,为我的美好明天打下坚实的基础。 从功能上来讲,本教务系统数据库采用自顶而下的设计思路,数据库的访问权限逐层限制。同时处于同一层次的不同角色之间的权限有交叉性又有差异性。基本上能够完成对数据的查询,添加,删除,修改等基本的数据库系统操作。 从数据库的运行效率上来讲,本教务管理系统由于没有采用数据库管理系统的默认的系统参数,并根据的实际的数据需求进行重新配臵,同时对物理体系结构的调整,使得数据库的运行效率得到提高。

网站注册登录系统的设计与开发

设计任务书 设计题目: 网站注册登录系统的设计与开发 设计内容: 1. 访问者注册到数据库 2.注册后能够登陆 3. 注册验证 4. 登陆密码找回 设计要求: 1. 程序调试成功,能够演示。 2 攥写毕业设计论文不得少于15000字。

开题报告 一、设计题目 用户注册登录系统的设计与开发 二、设计目的 1. 掌握ASP的技术,熟悉ASP各内置对象及组件的功能,并会运用 2.掌握Vbscript脚本语言的编写,并了解相关语言Javascript的用 途,结合Access等数据库知识,掌握编写ASP的方法. 3.运用所学知识,实现用户进入系统的登录注册,并实现身份验证,以 达到与其他Web页一起管理系统的目的. 三、设计要求与方法 能用ASP完成用户的登记、注册及身份验证,结合Access等数据库的相关知识,实现小型数据管理数据库功能的一环节。 系统主要采用ASP3.0、HTML、Access数据库、JScript、SQL等技术和工具设计实现。 四、设计任务计划书 为按时完成设计任务,达到毕业设计的要求,在现有的设备、资源条件下,我的主要任务是: 1.掌握ASP的概念,知道ASP编程的优点及特点,了解当今ASP的发展现 状以及背景; 2.进一步学习ASP,理解ASP相关的重要概念,如ActiveX、SQL Server 等,熟练掌握ActiveX组件及其中的内置对象,特别是Session对象,这在本软件设计中占有重要的地位。

3.本设计另一重要语言即是脚本语言Jcript,由于Jcript与Java有诸多 共同点,一般熟悉Java的人对Jscript上手很容易,所以还需要阅读适量的Java语言,同时相关语言,如VBscript等也尽量涉猎。 4.在前三项任务基本完成后,就可以着手对用户登记注册及身份验证的编 程了,这是本次毕业设计的核心部分,所以这部分的编程、调试、运行将占有大量的时间。 基于本次毕业设计的上述四步曲,特将时间安排如下: 万事开头难,故用两到三星期查阅资料,涉猎ASP的入门知识; 完成第一步; 入门之后,四月中旬之前完成第二及第三项任务,并开始着手编 程; 再用一个半月的时间编程、调试、运行直至结果成功; 六月初开始写论文,排版,并打印上交。 五、设计所要实现的功能: 该模块的功能是实现用户远程注册。用户输入想要注册的用户名、密码,提交之后由系统判断该用户是否已经存在,如果存在,就给出相应信息,如果不存在,就把用户输入的用户名和密码写到数据库中,完成注册

基于LABVIEW的用户登录界面设计

基于LABVIEW的用户登录界面设计 Labview具有功能强大的数学工具,用在传感器设计上可大大降低软件的设计负担。对于一个实际的传感器使用,其用户数量有限,其登陆界面设计可以完全借助其数组函数与数据记录文件完成,而不就是数据库,这样既减轻了系统的重量,也减轻了系统的负荷。没有牵涉第三方的软件,系统的稳定性也大大提高。本文设计了一个简单的用户登录系统的2个模块,希望能对读者有所启发。 1)用户初始文件的建立 Labview的数据记录文件具有较强的功能,并且不能用写字本打开,因此作为一般的保密级别可以用来存储初程序运行环境数据,本文用来存储登陆系统的用户数据。 本程序采用两个套嵌while循环,用于批量产生用户名单,内While

采用三个文本输入框,分别输入用户姓名、用户初始密码、用户权限等内容,并用系统时间空间获取用户建立时间,通过数组创建函数创建成一维数组,点击确定键完成一个用户的建立,可以继续进行下一个用户的建立(当然您也可以只建立一个超级用户,在超级用户登陆后继续建立用户名单),用户建立完毕点击停止按钮完成用户名单建立,形成一个二维数组,由于点击停止键时,最后一个用户名单会重复建立,故采用数组删除函数去掉最后一行,然后创建一个文件,用数据记录函数将该名单存储在您希望的文件夹内(本例放在桌面上,面板上的数组就是为验证程序而建立的,可以去掉)。 2)登陆界面 登陆面板实际上只有两个文本输入控件:用户名与密码。程序首先将记录文件读入内存,让后将第一列(索引0列)的所有用户列出来,用一维数组搜索函数搜索该用户密码所在的行号,再用该行号将该用户的信息从记录文件索引出来。由于密码放在第二列(1列),直接从用户的记录信息索引第第二列(索引1列)取出该用户密码),直接用文本比较“等于”函数进行比较用户输入的密码就是否与其预设的密码一致。 至于修改用户名单、用户权限等内容可用“数组的删除、插入”

系统界面设计

系统界面设计实例 姓名:曹爽班级:9班学号:201208240901 设计的系统名称:个人日常事务管理系统 针对用户群是:广大电脑用户(有一定的电脑操作基础),officer和广大学生。 一、系统需求分析(The system requirement) 针对officer和学生们的需求分析,从我自身分析:对于我日常的安排我平时会用专门的记事本记录和更改,对于日常各种事务可能会冲突或不变携带,现在针对这些需求,设计出符合此人群适合的一款系统来帮助人们更好的安排日程和完成工作。此系统是要面向个人的,同企业系统相比,此软件要力求操作简单,效率要高效,由于针对的人群是officer和大学生,这些人都是年轻的一代人,对计算机和系统都比较了解,而且倾向于华丽的界面,但是该系统同时要解决高效,较少的操作较快地达到用户的需求。由于工作原因或计算机系统崩溃等用户在本机保存的日程安排等数据可能丢失的情况,同时,有些情况下可能无法连接网络,此系统应支持 1.、本机数据保存。2、可以上传到服务器数据库,用户注册可获得免费的空间,用户注册后,只要登录就能在随时随地获得自己的日程安排等信息。 二、系统功能定义(The function definitions) 个人日常事务管理系统 用户注册登录 主要功能实现 软件设置、帮助 用户登录界面 主界面(导航) 用户注册登录 子界面(功能)

实现功能(主界面导航): 一、工作台(主要功能): 1、待办事件 2、日程安排 3、效率评估 4、通讯录 5、定时提醒 二、通行路线: 可以和平时安排联系起来,可以提前安排好行车路线 三、天气情况 和日程安排联系起来,提醒用户天气状况,便于用户及时修改自己的日程安排。 四、桌面图标 将桌面快捷方式整理到这里,这是方便用户的一个小工具,此功能为了挽留用户,功能太单一,用户可能会流失。 三、界面设计和标准(The Principles) 风格设计分析:针对用户年轻,更加偏好色彩丰富,但是针对于此软件要求的功能应符合操作简单。则主要用鼠标点击操作就可以方便的查看用户的日程安排信息。虽然要追求界面的时尚和华丽,但是界面过于艳丽,容易导致用户视觉疲劳。则轻松的淡彩色为主配色,灰色系为主。 用户导航显示:简单明了,文字描述要明了,通过文字和图标配合示意,用户看到按钮,可以快速的明白此按钮功能。布局应该满足用户习惯,结合广大软件按钮布局方式。 为了保持界面在设计过程中,要求各个界面的风格的统一,先做出表格,列出界面制作统一的原则和规范。 框体颜色外边框输入框按钮登陆界面蓝色,淡色,40% 灰色,淡色,30% 线条,淡色,50% 灰白色,80% 主界面线条,淡色,50%灰色,淡色,30%线条,淡色,50%灰白色,80% 子界面线条,淡色,50%灰色,淡色,30%线条,淡色,50%灰白色,80%文字部分标题文字输入框文字菜单文字帮助文字 字体微软雅黑加粗微软雅黑微软雅黑微软雅黑 大小小四五号五号五号 颜色黑色灰色,50% 黑色黑色

用户注册、登录系统设计要点

用户注册、登录系统设计 采用的软件:Mysql+Tomcat6.0+Myeclipse 7.0 1.数据库的设计: 2.程序实现思路: 如果要完成用户登录,则一定要有一个表单页面,此页面可以输入登录用户名和密码,然后将这些信息提交到一个验证的jsp页面上进行数据库的操作验证,如果可以查询到用户名和密码,那么就表示此用户是合法用户,则可以跳转到登录成功页。如果没有查询到表示此用户是非法用户,应该跳转到错误页面提示。 3.用户注册页面:registerForm.jsp <%@ page language="java" import="java.util.*" pageEncoding="gb2312"%> 用户注册: 用户名: 密码:

跳转到的注册页面:register.jsp <%@ page language="java" import="java.util.*" pageEncoding="gb2312"%> <%@ page import="java.sql.*" %> <% request.setCharacterEncoding("gb2312");//设置接收编码格式 String requsername=request.getParameter("username");//接收参数username String reqpassword=request.getParameter("userpassword");//接收参数password %> <%

用户界面设计模板

宽带收费管理系统用户界面设计报告 机构公开信息

版本历史

目录 文档目的 ................................................................................................... 错误!未定义书签。 文档范围 ................................................................................................... 错误!未定义书签。 读者对象 ................................................................................................... 错误!未定义书签。 参考文献 ................................................................................................... 错误!未定义书签。 术语与缩写解释........................................................................................ 错误!未定义书签。 1. 应当遵循的界面设计规范............................................................................. 错误!未定义书签。 :易用性:.................................................................................................. 错误!未定义书签。 易用性细则.................................................................................................. 错误!未定义书签。 2. 界面的关系图和工作流程图......................................................................... 错误!未定义书签。 前台管理完成界面功能一览...................................................................... 错误!未定义书签。 界面关系及工作流程................................................................................ 错误!未定义书签。 前台管理界面关系.............................................................................. 错误!未定义书签。 3. 界面关系 ........................................................................................................ 错误!未定义书签。 登录界面 ................................................................................................... 错误!未定义书签。 页面说明............................................................................................ 错误!未定义书签。 页面迁移图........................................................................................ 错误!未定义书签。 页面说明............................................................................................ 错误!未定义书签。 前置条件............................................................................................ 错误!未定义书签。 关联数据表........................................................................................ 错误!未定义书签。 补充说明:........................................................................................ 错误!未定义书签。 前台管理主界面........................................................................................ 错误!未定义书签。 页面说明............................................................................................ 错误!未定义书签。 页面迁移图........................................................................................ 错误!未定义书签。 页面说明............................................................................................ 错误!未定义书签。 入网登记单界面........................................................................................ 错误!未定义书签。 页面说明............................................................................................ 错误!未定义书签。 页面迁移图........................................................................................ 错误!未定义书签。 页面说明............................................................................................ 错误!未定义书签。4.总后总结:.................................................................................................... 错误!未定义书签。

用户界面设计实例

用户界面设计实例 ● 设计的系统名称:个人日常事务管理系统 ● 针对用户群是:广大电脑用户(有一定的电脑操作基础),officer 和广大学 生。 一、系统需求分析(The system requirement ) 针对officer 和学生们的需求分析,从我自身分析:对于我日常的安排我平 时会用专门的记事本记录和更改,对于日常各种事务可能会冲突或不变携带,现在针对这些需求,设计出符合此人群适合的一款系统来帮助人们更好的安排日程和完成工作。此系统是要面向个人的,同企业系统相比,此软件要力求操作简单,效率要高效,由于针对的人群是officer 和大学生,这些人都是年轻的一代人,对计算机和系统都比较了解,而且倾向于华丽的界面,但是该系统同时要解决高效,较少的操作较快地达到用户的需求。由于工作原因或计算机系统崩溃等用户在本机保存的日程安排等数据可能丢失的情况,同时,有些情况下可能无法连接网络,此系统应支持 1.、本机数据保存。2、可以上传到服务器数据库,用户注册可获得免费的空间,用户注册后,只要登录就能在随时随地获得自己的日程安排等信息。 二、系统功能定义(The function definitions ) 个人日程管理系统主要是提供个人时间日程安排系统软件,它具有相当方便的操作接口,让用户能够对所安排的行程一目了然,除去主要功能还附带了更多功能和小工具,安排的行程可以生成通行路线,并会根据天气预报提醒当天安排是否影响。而且用户可以注册,注册后用户有更多的服务,安排的日程数据可以保存到本地同时可以更新到服务器,这样用户就算到外地也可以随时查看自己的日程安排,同时其他功能有:时钟提醒、通讯录、效率评估等。 实现功能(主界面导航): 个人日常事 务管理系统

系统界面设计规范

B/S 系统界面设计规范 1.引言 界面美观、操作易用性、维护成本低是评价B/S系统的关键。本规范参考了一些成熟产品科学的开发方法,将开发过程中的方式、规则等强行的约束。希望藉此来提高用户操作感受,提升B/S产品的质量。 1.1. 编写目的 广义的界面概念包含了除页面布局设计之外,交互性的设计,及人体工程学方面的研究。本规范制订的依据从广义概念出发,总结以往项目的成败经验,目的是从整体上提升公司B/S类产品的质量、开发效率。从以技术为中心发展为以客户为中心,将类似项目成功的经验继承和积累下来,将B/S系统与C/S系统开发过程上的区别降低到仅显示控制的极小的层面。新的开发方式强调分层,规范出界面设计人员做什么,服务器编程人员做什么,这样就把页面和控制代码两个层面清晰的分开。 1.2. 背景 B/S模式系统以其易部署、易扩展、能够高度集成各种技术的特点,在公司产品线中占越来越大的比重,.Net、J2ee等技术的发展更是将B/S系统的开发和桌面应用程序开发的工程方法统一起来,突出服务器端技术,这些变革要求界面设计人员和服务器端编程人员可以应用更加科学的方法合作,团队的合作方式甚至决定了一个系统开发的成败。目前公司较多的服务器端编程人员仍然处于“后ASP 时代”的开发方式,表现为前台页面仍然与服务器代码高度的关联,带来的后果是重复建设、高昂的维护成本或失去控制的项目,没有充分的发挥出集成开发工具的优势。在以往的开发方式下界面设计侧重在静态页面的建设上,每个页面作为一个独立的模块来处理,在页面交互中则是程序员根据自己的习惯来控制,程序对个人的编程风格的依赖很强,这些在以往开发WEB站点的方式扩展到B/S系统有时是不正确的,甚至是背道而弛的,当然也不利于规模化的团队合作。 1.3. 定义 术语定义: 效果图:由界面设计人员设计的页面效果图,综合了概要设计的业务需要和整个站点的风格,它规定了页面布局上的每个细节。 容器:即HTML 标记的嵌套结构,如在表格->行->单元格内放置图片,那么可以认为单元格是放置图片的容器。 样式表:即级联式样式表CSS,它是W3C机构在HTML标记语言上扩展的格式语言。 非标准交互控件:是通过标准控件组合、扩展等方法以提高特定业务执行效率而进行封装的控件,或概括为用户根据以往的操作经验不能够直接领会出操作方式的交互控件。 2. 界面设计规范细则 总体目标 以规范作为基本原则,在此框架内进行合理的扩展和变化,将站点内的每个模块服从于整个站点,模块页面与“高内聚”的控制代码紧密的结合在一起,同时对应于应用程序基于系统的架构分析。 2.1. 通用原则 1 界面色彩要求:计算机屏幕的发光成像和普通视觉成像有很大的不同,应该注意这种

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

286二 ○一二年第十五期 华章 M a g n i f i c e n t W r i t i n g 王炳举,武 静,郑州大学西亚斯国际学院。 作者简介:基于门户单点登录系统的设计与实现 王炳举,武静 (郑州大学西亚斯国际学院,河南新郑451150) [摘要]本文根据单点登录的特点,实现了一种简单的单点登录方案,阐述了单点登录方案设计、登录流程、数据 库设计等技术细节,并对方案进行了评估分析。 [关键词]单点登录;凭证加密1、单点登录简介单点登录(Single Sign On ),简称为SSO ,是目前比较流行的企业业务整合的解决方案之一。SSO 的定义是在多个应用系统中,用户只需要进行一次登录就可以访问所有建立了相互信任关系的应用系统。它的目标是方便用户,简化管理,提供统一的一站式服务。 使用单点登录主要有以下几个方面的好处:1.1统一管理、维护用户公共信息、提供多种接口标准,保证其他应用系统通过直接访问或同步复制的方式,从统一用户中心获取一致的用户信息。 1.2方便管理,减少管理员管理多个应用系统用户的压力,管理员只需要维护好统一用户中心的用户信息即可,其他应用系统可按一定的规则从统一用户中心同步用户信息。 1.3为终端用户提供便捷的一站式服务,用户只需要记住一个用户名及密码即可访问其有权限的所有应用系统,也可以减少因用户忘记密码而为管理员增加的工作量。 1.4具有良好的兼容性、可扩展性,一方面能兼容新开发的业务系统也能支撑现有的应用系统的访问;另一方面,系统中用户信息的属性可以扩充,以适应未来业务的变化。 1.5提高开发人员的效率。SSO 为开发人员提供了一个通用的身份验证框架。实际上,如果SSO 机制是独立的,那么开发人员就完全不需要为身份验证操心。他们可以假设,只要对应用程序的请求附带一个用户名,身份验证就已经完成了。 2、单点登录系统设计 本文作者负责一所高校信息门户开发及维护,由于目前所用的门户系统没有单点登录服务,但又经常需要跟其他应用系统之间进行单点登录,因此设计此方案,大致的思路如下: 2.1设计思路。我校的信息门户使用活动目录进行用户管理,通过LDAP 协议进行统一身份验证,因此本方案也使用AD 作为统一用户中心,在门户上建立单点登录服务用于跟其他应用系统之间的单点登录。 用户首先登录门户,SSO 服务获取到用户信息后将用户有权访问的资源列表展现给用户,用户点击到某个应用的链接后自动登录到相应的应用程序;用户点击的链接不包含任何敏感信息,只有应用服务器ID ;SSO 服务会根据应用服务器ID 自动根据凭证生效时间、过期时间、用户ID 、Key (SSO 服务器与应用服务器之间约定的加密字符串)等信息自动生成凭证并将凭证提供给应用服务器验证,当应用服务器收到登录请求后会首先验证用户的合法性,然后到SSO 服务器验证凭证的合法性,验证成功后允许用户登录,且该过程必须要在既定的时间内完成。 该过程中每个应用与SSO 服务器之间约定共同的Key (密匙),根据密匙、用户ID 、用户IP 、凭证生成时间及失效时间根据一定的规则使用Hash 算法生成凭证,因此相同用户在不同时间登录某个应用时生成的凭证是不相同的。 服务器之间通过SSL 协议加密信息传输,用户通过使用https 的方式访问。 SSO 服务器根据单点登录类型判断应用系统中的用户信息与统一用户中心的用户信息是一致的还是需要进行用户映射,如果需要进行用户映射且用户是第一次登录,则将用户重定向到用户映射页面要求用户填写相关信息后进行登录。 SSO 服务器应具有的功能:(1)可以添加多个应用,添加应用时可添加应用服务器名称、 通信密匙、应用服务器单点登录地址等信息。 (2)可将所有应用以合适的方式展现给用户,并能获取用户登录ID ,并根据应用服务器ID 、通信密匙按照一定的加密算法生成凭证信息及凭证信息的Hash 值。 (3)提供用于验证应用服务期凭证的WebService ,该Web-Service 应检查凭证的时效性(是否为过期凭证)及正确性,防止凭证被篡改,同时将校验的结果反馈给应用服务器。 应用服务器功能: (4)应用服务期只需要校验SSO 服务器提供的用户ID 及凭证的有效性即可。 2.2单点登录流程。 2.2.1用户首先登录门户,并打开单点登录(SSO )应用列表,点击相应的应用系统链接。 2.2.2SSO 服务器根据APPID 找到对应的应用、与应用服务器约定的key ,在SSO 服务器上生成一条包含APPID 、用户ID 、用户IP 、凭证生效时间、凭证失效时间、凭证信息的Hash 值等的记录。凭证信息根据APPID 、用户ID 、用户IP 、凭证生效时间、凭证失效时间及与应用服务期之间约定的key 按照一定的规则生成。 2.2.3SSO 服务器根据步骤2中的信息采用Hash 加密算法生成的凭证信息,并将用户ID 及凭证传递到应用服务器。 2.2.4应用服务器根据SSO 服务器传递过来的用户ID ,校验该用户的有效性,同时调用SSO 服务器提供的WebService 校验凭证的有效性及时效性,如果校验成功,则允许用户登录。 2.2.5如果用户登录的应用系统与统一用户中心使用不同的用户信息,则用户第一次登录时需要首先进行用户映射,第二次登录时执行步骤1到步骤4。 2.2.6用户登录其他应用系统时重新执行以上过程。 从以上流程可以看出,本文设计的单点登录方案跟其他单点登录方案有所不同,用户无论登录那个应用系统均需由SSO 服务器代替用户自动登录。 2.3具体数据表设计。首先我们需要一张表用于存放各种应用服务器的相关信息,包含应用服务器名称、应用服务器单点登录地址等信息,数据表字段及设计说明如下: 除了上面数据表之外我们还需要一张表用于存放用户登录时自动生成的信息,同时这张表中的数据也作为应用服务器向SSO 服务器验证时用。 如果统一用户中心与应用系统使用两套不(下转第288页)

相关文档
相关文档 最新文档