首页  ·  知识 ·  架构设计
企业门户应用整合中单点登录(SSO)的技术实现与应用
李峰 郭晓军 于培民 曹中  万方数据     编辑:德仔   图片来源:网络
1 引言 企业在信息化建设过程中,由于经常采用逐步

1 引言

    企业在信息化建设过程中,由于经常采用逐步信息化的方式,因此会造成企业内部各个应用系统的用户目录不完全兼容,各应用系统相互孤立,形成“信息孤岛”。信息孤岛的存在,使得信息系统用户需要做重复的登录。因此实际中,需要一个统一的用户登录管理系统平台,来实现用户统一身份验证。用户登录到某一应用系统(通常是门户站点,如办公自动化系统)后,当需要访问其他应用系统时,不必登录就可以直接进入应用系统。

    单点登录系统平台采用统一的用户信息数据库,实现用户统一验证。从用户的角度只需进行一次登录就可实现全局访问;从管理员的角度,能够记录用户登录各个系统的日志信息,方便进行统计分析。

2 单点登录的实现原理

2.1 单点登录的一般模型

    单点登录模型,一般由三部分构成,分别是:用户、身份提供者和服务提供者,如图1所示。

    (1)用户是指通过浏览器来使用应用服务的个体。

    (2)身份提供者是指对个体进行身份验证的服务提供者。

    (3)服务提供者是指为用户进行应用服务的具体应用服务提供者。

 

图1. 单点登录模型图

    单点登录的工作原理是:用户首先在身份提供者那里注册身份;当用户进行单点登录时,在身份提供者处登录,进行身份验证,由身份提供者为用户标记登录信息;当访问其他的服务提供者时,被访问的服务提供者首先直接与身份提供者进行交互,确定该用户是否已进行单点登录,从而确定允许该用户来访问自己提供的服务。

2.2 单点登录的重要概念

    2.2.1 单点登录点

    理想的情况是用户通过任何应用系统都能进行SSO(Single Sign-on),这对于基于Web的系统是可行的。这种单一的登录点在整个系统的设计中是惟一认证用户的地方,由登录点将SSO token(单点登录标志)(针对不同的C/S,B/S应用可能还需要传递用户名,口令)传递给应用系统,应用系统利用SSO token进行用户已认证的验证。将这个单一的登录点称为SSO Entry(单点登录点)。

    2.2.2 对原有应用系统的修改

    并不是任何系统都能够使用SSO,只有那些符合SSO规范,使用SSO API的应用系统才具有SSO的功能。因此,进行单点登录,需要修改已有的应用系统。屏蔽已有的应用系统的用户认证模块,使用单点登录系统提供的SSO API来验证用户,以及对用户的操作进行授权。

    2.2.3 建立统一的认证权限信息库

    建立统一的认证,权限存放库,进行认证与授权管理,将系统的认证、授权信息存贮结构与访问控制逻辑和应用的业务逻辑进行分离,使它们之间成为一种松散的耦合,便于系统的灵活管理。

2.3 单点登录的工作流程

    单点登录有三个主体:使用Web浏览器的用户、服务提供者和登录服务器。登录服务器保存着用户的认证信息以及用户的个人信息,服务提供者在得到甩户允许的前提下可以到登录服务器上获取用户个人信息。

    单点登录协议流程如图2所示。

 

图2. 单点登录的工作流程

    首先,当一个用户通过浏览器访问一个服务提供者时,如果该服务提供者需要验证用户的身份,就把该用户的浏览器重定向到登录服务器;登录服务器通过SSL连接为用户提供一个登录页面,用户进行登人;用户登录服务器后,被重定向回服务提供者,此时认证信息被包含在重定向消息中;服务提供者检验认证信息的真实性后,即可认为该用户成功登录。

本文作者:李峰 郭晓军 于培民 曹中 来源:万方数据
CIO之家 www.ciozj.com 微信公众号:imciow
    >>频道首页  >>网站首页   纠错  >>投诉
版权声明:CIO之家尊重行业规范,每篇文章都注明有明确的作者和来源;CIO之家的原创文章,请转载时务必注明文章作者和来源;
延伸阅读
也许感兴趣的
我们推荐的
主题最新
看看其它的