单点登陆 SSO(Single Sign-On) 简介

 转载自: http://blog.icxo.com/read.jsp?aid=30925

单点登陆 SSO(Single Sign-On) 简介
       -supermgr

 

 

       指机构只需对用户作一次身份认证,通过认证后的用户可以对所
有被授权的计算机和系统进行访问,无需重复输入用户密码。

    单点登陆(Single Sign-on)降低了人员以及系统出错的几率,因
此获得了很高的期待值,但因所面临的各种困难使其难于实施。

相关产品:
惠普HP 灵动安全,  
            主要应用在企业Web系统中,支持多种身份认证.产品安装费用RMB1,684元。

微软提供的Passport认证服务
        ASP.NET支持这服务,对于Web开发可以查看一下
        System.Web.Security命名空间下以Passport开头的类名就知道了。
        如果你想在你的应用里使用Passport认证服务的话,你需要下载.NET Passport SDK.
           可以参考NET Passport Single Sign-In

企业应用集中管制PORTAL系统
           美商克门股份有限公司的,主要为应用资源WEB化解决方案

Yale CAS Server 来实现单点登陆(SSO)
              CAS (Central Authentication Service)是Yale大学的ITS开发的一套JAVA实现的开源
     的SSO(single sign-on)的服务。

 


SSO实现原理

1、概念:SSO的一种偏向技术的说法:用户只需登陆一次,就可使用多个SSO enable的应用系统。

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

(2)、SSO enable意味着对应用系统的修改不可避免。并不是任何系统都能够使用SSO,只有那些符合SSO规范,使用SSO API的应用系统才具有SSO的功能。简单地说就是要修改已有的应用系统,屏蔽已有的应用系统的用户认证模块,使用系统提供的SSO API来验证用户,以及对用户的操作进行授权。

(3)、需要统一的认证,权限信息库。通常,认证与授权管理模块以一种应用专有的方式实现,系统的授权模型、认证,授权信息存贮结构与访问控制逻辑与应用的业务逻辑之间耦合紧密。这种设计与实现方式的缺点是显而易见的:由于认证、授权模块与应用逻辑之间的紧耦合使得认证、授权模块很难进行扩展与维护;认证、授权模块的设计与编码需要很大的工作量,而且很难在不同的应用系统之间共享与重用。这也是越来越多企业应用需要SSO的原因之一。

SSO要求有统一的认证,权限存放库。但现实中,有的系统无法使用外部的认证,授权信息库,所以就需要在应用系统和Portal Server之间进行认证,同时进行授权信息的数据同步。
具体可以参看:sso在南京地税的实施


一般来说,单点登陆有两种模式:

第一种是DNN模式。也就是把各个子系统的界面都集成到一起,当到一个类似DNN一样UI的容器管理器里面,用这样的方式,来实现一次登陆,然后在各个其他系统中继续享有这个用户登录服务。 其实这是采用一个WebApplication的方式。

第二种,类似微软的passport,一次登陆之后,就可以在msn,hotmail,或者space中任其切换而不需要重新登陆。这一中模式就不是一个WebApplication了,而是在多个Application上的控制。

  

你可能感兴趣的:(单点登陆 SSO(Single Sign-On) 简介)