本博客用于保存网上查找到资料,所有文章均为转载,特此声明,就不一一标注出处了。

关于单点登录的一些资料

上一篇 / 下一篇  2011-05-05 17:53:42 / 个人分类:它山之石

一、

构建和实现单点登录解决方案——将一个开放源码的基于 Java 的身份验证组件集成进 Web 门户中

http://www.ibm.com/developerworks/cn/web/wa-singlesign/

简介: 在现有的应用程序中实现单点登录解决方案(single sign-on,SSO,即登录一次,就可以向所有网络资源验证用户的身份)是非常困难的,但是在构建复杂的门户时,每个开发人员都要面对这个问题。因为门户需要与后端资源集成,而每个后端资源都有自己的身份验证需求,所以门户常常必须向用户提供单点登录特性。在本文中,Chris Dunne 一步步地描述了他为一个 Web 门户构建单点登录解决方案的经历。他将讲解如何设置一个开放源码解决方案(来自 Yale University 的 Central Authentication Service),以及如何将它扩展为根据 Microsoft Active Directory 基础设施进行身份验证。

我在自己的工作中发现,对各种门户应用程序的需求正在增长。门户的技术和功能性需求变得越来越复杂了。尽管出现了可以构建简单门户的工具,但是门户与远程或遗留数据源的集成问题仍然不容易解决。其中一个问题就是身份验证。

身份验证是个复杂的问题。门户需要向后端数据源和应用程序验证用户的身份,但是这些应用程序可能具有互不相同的底层安全基础设施。理想的最高效的身份验证解决方案是单点登录(single sign-on,SSO) 解决方案;在这种解决方案中,用户只需要登录一次,就可以向所有网络资源验证他的身份。

最近,在构建一个需要 SSO 的教育门户时,我研究了许多商业的和开放源码的 SSO 解决方案。在本文中,我将一步步地介绍使用免费的 SSO 实现(来自 Yale University 的 CAS)构建简单 SSO 系统的过程。

为什么要选择单点登录?

有多少人实现过自己的身份验证机制(常常是某种简单的数据库查询)?您是否常常考虑创建和管理用户帐号所需的工作流?在任何开发项目中,身份验证都是很常见的任务。如果幸运的话,公司已经有一些通用的身份验证类或库。但是,这个任务常常被忽视,被当作只在后台发生的微不足道的事情。

一般来说,公司往往没有一致的身份验证策略或可靠的身份验证框架。随着时间的推移,这会导致大量应用程序具有自己的身份验证需求和用户存储库。每个人都需要记住多个用户名和密码,才能访问网络上的不同应用程序。这给管理和支持部门带来很大的负担 —— 必须在每个应用程序中为每个职员设置帐号,当用户忘记密码时还要帮助他们解决问题,等等。

身份验证是多种应用程序、平台和基础设施共有的需求。一般来说,一个用户应该不需要多个用户名。理想情况下,他应该只需要证明自己的身份一次,然后就能够访问所有已经得到授权的网络资源。

SSO 的目标是,让用户能够通过一次登录访问所有应用程序。它提供一个统一的机制来管理用户的身份验证,并实现业务规则来决定用户对应用程序和数据的访问。

在讨论单点登录的技术细节之前,先谈谈单点登录的一些好处和风险。好处包括:

  • 提高用户的效率。用户不再被多次登录困扰,也不需要记住多个 ID 和密码。另外,用户忘记密码并求助于支持人员的情况也会减少。 

  • 提高开发人员的效率。SSO 为开发人员提供了一个通用的身份验证框架。实际上,如果 SSO 机制是独立的,那么开发人员就完全不需要为身份验证操心。他们可以假设,只要对应用程序的请求附带一个用户名,身份验证就已经完成了。 

  • 简化管理。如果应用程序加入了单点登录协议,管理用户帐号的负担就会减轻。简化的程度取决于应用程序,因为 SSO 只处理身份验证。所以,应用程序可能仍然需要设置用户的属性(比如访问特权)。

对于单点登录,经常提到的一些问题包括:

  • 难以重构。对 SSO 解决方案进行重构来适应现有的应用程序很困难,很耗费时间而且昂贵。

  • 无人看守的桌面。实现 SSO 会减少一些安全风险,但是也增加了其他安全风险。例如,如果用户登录之后离开了他的机器,恶意用户就可以访问他的资源。尽管这是一个普遍存在的安全问题,但是 SSO 会使这个问题更加严重,因为恶意用户可以访问所有获得授权的资源。在采用多次登录方式时,用户每次只能登录进一个系统,所以只有一个资源被泄露。

  • 单点攻击。在使用单点登录时,所有应用程序使用一个集中的身份验证服务。对于希望实施拒绝服务攻击的黑客,这是一个有吸引力的目标。

所以,SSO 并非毫无缺点。但是我相信,在用户、管理员和开发人员看来,它的优点要超过缺点。



二、CAS单点登录之测试应用

http://danwind.iteye.com/blog/649682


TAG:

charlie_yaug的个人空间 引用 删除 charlie_yaug   /   2014-06-19 09:49:09
5
 

评分:0

我来说两句

日历

« 2024-05-20  
   1234
567891011
12131415161718
19202122232425
262728293031 

数据统计

  • 访问量: 4793
  • 日志数: 10
  • 建立时间: 2010-09-14
  • 更新时间: 2011-05-11

RSS订阅

Open Toolbar