SSO(单点登录)解决方案实施经验介绍

 
      单点登录(SSO-Single Sign On),是目前企业应用系统整合的一种流行的解决方案,主要解决的是在多个应用系统中,用户只需要经过一次登录认证,就可以访问所有相互信任的应用系统。很多软件厂商都提供了SSO解决方案,主要有IBM、SUN、ORACLE、HP等。我实际接触到的是yale大学的一个开源项目CAS做的单点登录,目前由JA-SIG组织开发(可参看http://developer.jasig.org),使用它作为单点登录组件的应用还是比较广泛,论坛也很活跃,网上文章也很多,CAS在不断版本升级,已经非常成熟,现在CAS的SSO最新版本为3.4.11。CAS主要包含两部分:CASServer服务端、CASClient客户端CASClient支持很多的客户端(这里指单点登录系统中的各个 Web 应用),包括 Java, .Net, PHP, Perl, Apache, uPortal, Ruby 等。
      我在一个集团公司工作期间,有许多产品、项目、子系统,需要单点登录集成,我们基于CAS源码二次开发产生的SSO组件,在集团内的各个项目中做实施。其中遇到了许多问题,通过不断探索和解决问题,也积累了许多经验,不断成熟完善。对单点登录也有了更深入一些的认识。

        有些人认为单点登录就是只是解决登录问题、或者只是解决认证问题。这样认识是片面的,单点登录看起来功能很单一、明确,其实在进行应用系统整合的SSO集成时往往遇到应用系统个性化的登录认证功能(如不同客户端语言、不同的认证方式等),各子系统有不同的身份认证信任关系(如不同产品线下的子系统的单点登录、联邦单点登录等解决方案),还有其他应用系统延伸的需求(如统一用户管理、子系统许可服务管理等),这些因素影响下在整合集成时,要根据具体情况统一考虑,往往要对应用系统进行一些改造,带有一定的侵入性,SSO往往作为作为嵌入的组件,它的稳定性、可用性、易用性直接影响到应用系统的架构及功能,因此SSO集成是很重要的。作为一个完善的SSO组件,应当是轻量级的、对应用系统侵入性小、可以灵活扩展的。考虑应用系统的不同情况,有些应用系统运行多年,已经有比较成熟的登录认证模式,有些可能应用系统的逻辑中对认证逻辑耦合过紧,有些应用系统是不同语言写的,这样在做单点登录集成时,考虑到不同的应用系统特点。在SSO集成时,我们看看以往的工作,往往召集各应用系统项目主要技术人员,开会研讨解决方案,有时要协调不同的SSO需求,综合考虑SSO集成方案,这样大包大揽的整合、异构系统异构解决(如插件)等方式,有时由于集成时出现一些问题,导致干扰了应用系统的正常运行,对应用系统改造耦合过紧,增加了实施的难度、维护的工作量。理想的SSO组件应当是怎样的?我认为应当是能够在应用系统中无缝集成,提供一个即插即用的SSO解决方案,对应用系统改造或影响非常小,甚至让用户感觉不到使用了单点登录组件,只需要进行简单的配置,即可拥有SSO应用功能。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

云焰

你的鼓励是我创作的最大动力。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值