分享

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

 richsky 2012-04-16

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

分类: SSO单点登录 91人阅读 评论(0) 收藏 举报
 
      单点登录(SSO-Single Sign On),是目前企业应用系统整合的一种流行的解决方案,主要解决的是在多个应用系统中,用户只需要经过一次登录认证,就可以访问所有相互信任的应用系统。很多软件厂商都提供了SSO解决方案,主要有IBM、SUN、ORACLE、HP等。我实际接触到的是yale大学的一个开源项目CAS做的单点登录,目前由JA-SIG组织开发(可参看http://developer.),使用它作为单点登录组件的应用还是比较广泛,论坛也很活跃,网上文章也很多,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应用功能。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多