单点登录

单点登录


1、几种选择:1、WEB SERVICE2、接口数据库3、XML数据交换
2、单点登录采用ACL、SSL、LDAP等业界标准的安全技术,为所有集成的应用子系统提供安全授权,
3、一般我们基于三种方式来实现应用系统的单点登录:Form表单、HTTP重定向和认证服务器产品
4、单点登录(SSO,Single Sign-on)是一种方便用户访问多个系统的技术,用户只需在登录时进行一次注册,就可以在多个系统间自由穿梭,不必重复输入用户名和密码来确定身份。单点登录的实质就是安全上下文(Security Context)或凭证(Credential)在多个应用系统之间的传递或共享。
5、weblogic、webswhere都有对应的sso产品
6、
  1. 采用专门的SSO商业软件: 主要有:Netgrity的Siteminder,已经被CA收购。Novell 公司的iChain。RSA公司的ClearTrust等。
  2. 采用门户产品供应商自己的SSO产品,如:BEA的WLES,IBM 的Tivoli Access Manager,Sun 公司的identity Server,Oracle公司的OID等。
  3. 这些商业软件一般适用于客户对SSO的需求很高,并且企业内部采用COTS软件如:Domino,SAP,Sieble的系统比较多的情况下采用。并结合身份管理。统一认证等项目采用。采用这些软件一般都要对要集成的系统做些改造,如在要集成的系统上安装AGENT。现在一般只提供常见软件如:Domino,SAP,Sieble,常见应用服务器:weblogic,websphere等的AGENT。要先统一这些系统的认证。一般采用LDAP或数据库。然后才能实现SSO。比较麻烦。
  4. 另外,如果不想掏银子,也有OPEN SOURCE的SSO软件可选:主要有:http://www.josso.org/ https://opensso.dev.java.net/ http://www.sourceid.org 等。具体怎么样就不清楚了。

  如果项目对SSO的要求比较低,又不想对要被集成的系统做任何改动,可采用下面介绍的方式简单实现:首先,建立员工在PORTAL系统中的用户名和其他系统中的用户名之间的对应关系。可保存在表中或LDAP中或文件系统中。当然要考虑这些系统之间的数据同步问题。比较好的方式是找到用户在这些系统中的都存在的唯一信息(如员工号,MAIL地址,姓名等)。通过唯一信息实时到各个系统中去取认证所需要的信息。就不需要考虑数据同步问题。其次,通过IFRAME或超连接方式集成目标系统,并进行SSO

7、http://www.codeplex.com/SingleSignOn

8、

       简单的 SSO 的体系中,会有下面三种角色:

       1 , User (多个)

       2 , Web 应用(多个)

       3 , SSO 认证中心( 1 个)

       虽然 SSO 实现模式千奇百怪,但万变不离其宗:

      Web 应用不处理 User 的登录,否则就是多点登陆了,所有的登录都在 SSO 认证中心进行。

      SSO 认证中心通过一些方法来告诉 Web 应用当前访问用户究竟是不是张三 / 李四。

      SSO 认证中心和所有的 Web 应用建立一种信任关系, SSO 认证中心对用户身份正确性的判断会通过某种方法告之 Web 应用,而且判断结果必须被 Web 应用信任。

9、CAS 的结构体系

从结构体系看, CAS 包含两部分:

l         CAS Server

CAS Server 负责完成对用户的认证工作, CAS Server 需要独立部署,有不止一种 CAS Server 的实现,Yale CAS Server  ESUP CAS Server 都是很不错的选择。

CAS Server 会处理用户名 / 密码等凭证 (Credentials) ,它可能会到数据库检索一条用户帐号信息,也可能在 XML 文件中检索用户密码,对这种方式, CAS 均提供一种灵活但同一的接口 / 实现分离的方式, CAS究竟是用何种认证方式,跟 CAS 协议是分离的,也就是,这个认证的实现细节可以自己定制和扩展。

l         CAS Client

CAS Client 负责部署在客户端(注意,我是指 Web 应用),原则上, CAS Client 的部署意味着,当有对本地 Web 应用的受保护资源的访问请求,并且需要对请求方进行身份认证, Web 应用不再接受任何的用户名密码等类似的 Credentials ,而是重定向到 CAS Server 进行认证。

目前, CAS Client 支持(某些在完善中)非常多的客户端,包括 Java  .Net  ISAPI  Php  Perl uPortal  Acegi  Ruby  VBScript 等客户端,几乎可以这样说, CAS 协议能够适合任何语言编写的客户端应用。

10、

有很多所谓的登陆的话,就是从统一登录系统中想办法把用户信息传递到另外的系统。这似乎是多家企业开发的系统要作统一登录的惯用方案,实现也比较简单,反正就是一个转发,session都是自己系统的。不过如果是新系统的话,还是fins说的建立一个登录信息的管理中心比较好,将来要做什么改变或者扩展也好弄。
11、CAS  及其他开源  SSO  方案,3.1 JOSSO 3.2 CoSign 3.3 WebAuth 
cas_protocol-1.jpg 
步骤3然后,缓存该 Ticket ,如何进行缓存?
11、当我们的 Web 时代还处于初级阶段的时候, SSO 是通过共享 cookies 来实现,比如下面三个域名要做SSO : http://www.blogjava.net 
http://www.matrix.org.cn 
http://www.csdn.net 
如果通过 CAS 来集成这三个应用,那么,这三个域名都要做一些域名映射, 
http://blogjava.cas.org 
http://matrix.cas.org 
http://csdn.cas.org
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值