本科毕业设计-WEB单点登录系统的研究与设计

发布时间 : 星期四 文章本科毕业设计-WEB单点登录系统的研究与设计更新完毕开始阅读

第三章 web单点登录系统模型结构 17

在对web单点登录系统有了整体认识后,下面对系统进行详细的分析。假定我们称身份认证服务中心为SSO,身份认证服务客户端为PSO。如图3-3所示。 首先用户访问某一个应用程序服务,系统检查用户是否登录或者持有SSO票据,如果用户没有登录,PSO则调用转发服务,将用户重定向到SSO登录页面。 用户输入授权的合法认证信息,SSO认证服务通过查询数据库的用户相关信息验证用户,验证无误后,SSO将调用SSO票据生成服务来为该用户生成SSO票据,然后将该票据附在之前PSO应用程序的URL后,并且调用重定向服务,将浏览器重定向到该PSO应用程序。

此时PSO应用程序再次被用户访问,与之前不同的是访问URL增加了SSO生成的登录票据。PSO解析该URL,从中截获SSO票据,并进行验证。同过验证后,PSO将调用PSO生成服务来生成该用户对该PSO应用程序的访问票据。此后只要用户持有该PSO票据,无需到SSO验证即可使用该应用程序提供的相关服务。

假定用户访问并通过某一个应用程序身份认证后继续访问另一个处于相同认证系统保护下的应用程序。传统的认证方式必然需要用户重新输入认证信息进行身份认证。而在单点登录环境下,用户则省略了这些繁琐操作。

用户同某一应用程序认证后,访问另一个应用程序时。应用程序同用户访问第一个应用程序时一样对用户进行身份认证,此时用户并没有该应用程序的PSO票据,换言之就是用户没有在该应用程序登陆过。此时应用程序将用户重定向到SSO进行认证。SSO在接收到该应用程序送来的认证请求消息后,发现该用户已经合法登录过其他应用程序并持有SSO票据,于是SSO将用户的SSO票据附在请求认证的应用程序URL后面,并重定向到URL。

应用程序截取到URL后附加的SSO票据并进行验证,验证通过后调用PSO票据生成服务生成用户的PSO票据。此时用户就可以访问该应用程序的相关服务了。

18 WEB单点登录系统的研究与设计

3.2 身份认证服务中心

3.2.1 功能

通过上面的介绍,实际上本文介绍的web单点登录模型一个基于Ticket的认证方式[10]。User想要获取PSO端所提供的服务资源,先得通过PSO端的认证;而认证的先决条件是User向PSO端提供从SSO端获得的一个SSO票据。可以这么说,SSO票据是User进入某个PSO端应用服务的一张门票。而这张门票必须从一个合法的票据颁发机构获得,这个颁发机构就是所有PSO端所认同的身份认证服务中心(SSO), 同时这张票据具有超强的防伪标识:它是被SSO加密的。对User来说, 获得SSO票据是整个认证过程中最为关键的部分。如图3-4。

Username&Password USER SSO 票据 图3-4 USER与SSO

身份认证服务中心无疑是单点登录系统中最重要的模块之一。它承担着对用户身份的合法性验证和分发合法身份消息的任务。从功能上说主要有一下几点:

1.负责对用户进行身份认证。这一点同传统的应用系统中的身份认证是相同的。身份认证服务中心连接着存放用户信息的数据库。当用户提交认证信息(通常是用户名和密码)后,身份认证中心通过查询数据库中存放的用户信息,并进行比对来验证用户的身份是否合法。

2.负责SSO票据的生成。这是身份认证服务中心一个较传统应用系统中的身份认证不同的地方之一。当身份认证服务中心验证了用户的身份合法后,将调用

SSO 第三章 web单点登录系统模型结构 19

SSO票据生成服务来生成用户通过身份认证服务客户端(PSO)认证所必需的SSO票据。通常SSO票据具备PSO确认用户合法的相关信息,但出于安全因素不直接包含用户的身份认证信息,并且经过一定的加密来防止被非法获取。

3.负责处理用户在不同应用系统间切换时的身份认证。单点登录的特点就是用户在通过身份认证侯,访问另一应用系统时不需要再次输入身份认证信息。当用户访问某一个应用系统并通过认证中心认证后,继续访问另一个应用系统时,该应用系统端的PSO将用户重定向到SSO端进行用户身份认证,此时身份认证服务中心检测到该用户已经通过身份认证。然后身份认证服务中心将该用户之前产生的SSO票据重新发送给该应用系统,应用系统接收到SSO票据后即确认了用户的合法身份。此功能就实现了单点登录系统环境下,用户在多个应用系统进行切换时不需要多次输入认证信息进行身份认证的繁琐步骤。

3.2.2 结构

开始 有SSO票据 无SSO票据 返回登录页 登录失败 登录成功 生成SSO票据 图3-5 SSO结构

附加SSO票据重定向到PSO页面

通过前面的分析,对单点登录系统中的身份认证服务中心有一定的认识。下

20 WEB单点登录系统的研究与设计

面通过分析其结构来进一步了解身份认证服务中心的内部。如图3-5。 分析上面的结构图,用户访问身份认证服务中心有两种情况:

1.有SSO票据状态访问。即用户之前在访问某个应用系统时已经通过身份认证服务中心的认证,再访问另一个应用系统时,该应用系统需要对用户身份进行验证。此时第二个应用系统将用户重定向到身份认证服务中心进行验证,SSO检查该用户时发现该用户已经登陆过,并持有SSO票据,于是不再需要用户输入用户名和密码等相关身份信息,而直接将SSO票据附加到请求验证的第二个应用系统的URL,然后重定向到该URL交由PSO端进行后续操作。

2.无SSO票据状态访问。即用户是第一次访问身份认证服务中心。此时身份认证服务中心要求用户输入用户名和密码等之类的身份认证信息,然后SSO通过查询数据库对该信息进行比对认证。如果用户信息通过校验,则身份认证服务中心调用SSO票据生成服务为用户生成SSO票据。然后将该SSO票据附加到请求验证的PSO端URL上,并重定向到该URL,继而交给PSO进行后续操作。

3.3 身份认证服务客户端

3.3.1 功能

与身份认证服务中心配套的是身份认证服务客户端(PSO),它也是整个单点登录系统中非常重要的部分。通常来讲,身份认证服务客户端是嵌入应用系统中的一个模块。它与应用系统的权限系统相配合来达到对用户访问服务资源的控制。实际上,身份认证服务客户端在应用系统和身份认证服务中心扮演中间人的角色。

一方面,用户访问应用系统提供的需要认证的服务或资源时,应用系统首先检查用户是否登录,如未登录,则调用身份认证服务客户端模块准备进行认证操作。此时,身份认证服务客户端模块记录下当前用户访问URL,并将用户浏览器重定向到身份认证服务中心的登录页面,进行登录操作。

另一方面,当身份认证服务中心验证了用户身份,生成了SSO票据,并且将用户浏览器重定向到附加了SSO票据的原请求认证URL后,此时身份认证服务客户端截获到URL中有SSO票据,然后携带该票据到身份认证服务中心进行SSO票据合法性验证。验证通过后,身份认证服务客户端即授权用户(或者通知应用

联系合同范文客服:xxxxx#qq.com(#替换为@)