单点登陆SSO(SingleSign-On) 简介
-supermgr
指机构只需对用户作一次身份认证,通过认证后的用户可以对所
有被授权的计算机和系统进行访问,无需重复输入用户密码。
单点登陆(SingleSign-on)降低了人员以及系统出错的几率,因
此获得了很高的期待值,但因所面临的各种困难使其难于实施。
相关产品:
惠普HP灵动安全,
主要应用在企业Web系统中,支持多种身份认证.产品安装费用RMB1,684元。
微软提供的Passport认证服务
ASP.NET支持这服务,对于Web开发可以查看一下
System.Web.Security命名空间下以Passport开头的类名就知道了。
如果你想在你的应用里使用Passport认证服务的话,你需要下载.NETPassportSDK.
可以参考NETPassportSingleSign-In
企业应用集中管制PORTAL系统
美商克门股份有限公司的,主要为应用资源WEB化解决方案
YaleCASServer来实现单点登陆(SSO)
CAS(CentralAuthenticationService)是Yale大学的ITS开发的一套JAVA实现的开源
的SSO(singlesign-on)的服务。
SSO实现原理
1、概念:SSO的一种偏向技术的说法:用户只需登陆一次,就可使用多个SSOenable的应用系统。
(1)、单一的登陆点。理想的情况是用户通过任何应用系统都能进行SSO,这对于基于Web的系统是可行的。这种单一的登陆点在整个系统的设计中是唯一认证用户的地方,由登陆点将SSOtoken(针对不同的C/S,B/S应用可能还需要传递用户名,口令)传递给应用系统,应用系统利用SSOtoken来进行用户已认证的验证。我们将这个单一的登陆点称为SSOEntry。
(2)、SSOenable意味着对应用系统的修改不可避免。并不是任何系统都能够使用SSO,只有那些符合SSO规范,使用SSOAPI的应用系统才具有SSO的功能。简单地说就是要修改已有的应用系统,屏蔽已有的应用系统的用户认证模块,使用系统提供的SSOAPI来验证用户,以及对用户的操作进行授权。
(3)、需要统一的认证,权限信息库。通常,认证与授权管理模块以一种应用专有的方式实现,系统的授权模型、认证,授权信息存贮结构与访问控制逻辑与应用的业务逻辑之间耦合紧密。这种设计与实现方式的缺点是显而易见的:由于认证、授权模块与应用逻辑之间的紧耦合使得认证、授权模块很难进行扩展与维护;认证、授权模块的设计与编码需要很大的工作量,而且很难在不同的应用系统之间共享与重用。这也是越来越多企业应用需要SSO的原因之一。
SSO要求有统一的认证,权限存放库。但现实中,有的系统无法使用外部的认证,授权信息库,所以就需要在应用系统和PortalServer之间进行认证,同时进行授权信息的数据同步。
具体可以参看:sso在南京地税的实施
一般来说,单点登陆有两种模式:
第一种是DNN模式。也就是把各个子系统的界面都集成到一起,当到一个类似DNN一样UI的容器管理器里面,用这样的方式,来实现一次登陆,然后在各个其他系统中继续享有这个用户登录服务。其实这是采用一个WebApplication的方式。
第二种,类似微软的passport,一次登陆之后,就可以在msn,hotmail,或者space中任其切换而不需要重新登陆。这一中模式就不是一个WebApplication了,而是在多个Application上的控制。