SSO_CAS

SSO_CAS
SSO_CAS

SSO 是一个非常大的主题,我对这个主题有着深深的感受,自从广州 UserGroup 的论坛成立以来,无数网友都在尝试使用开源的 CAS , Kerberos 也提供另外一种方式的 SSO ,即基于 Windows 域的 SSO ,还有就是从 2005 年开始一直兴旺不衰的 SAML 。

如果将这些免费的 SSO 解决方案与商业的 Tivoli 或 Siteminder 或 RSA Secure SSO 产品做对比,差距是存在的。毕竟,商业产品的安全性和用户体验都是无与伦比的,我们现在提到的 SSO ,仅仅是 Web SSO ,即 Web-SSO是体现在客户端;另外一种 SSO 是桌面 SSO ,例如,只需要作

为 Administrator 登录一次 windows 2000 ,我便能够在使用 MSN/QQ 的时候免去登录的环节 ( 注意,这不是用客户端软件的密码记忆功能 ) ,是一种代理用户输入密码的功能。因此,桌面 SSO 是体现在 OS 级别上。

今天,当我们提起 SSO 的时候,我们通常是指 Web SSO ,它的主要特点是, SSO 应用之间走 Web 协议 ( 如 HTTP/SSL) ,并且 SSO 都只有一个登录入口。

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

1 , User (多个)

2 , Web 应用(多个)

3 , SSO 认证中心( 1 个)

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

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

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

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

2. CAS的基本原理

CAS(Central Authentication Service) 是 Yale 大学发起的一个开源项目,据统计,大概每 10 个采用开源构建 Web SSO 的 Java 项目,就有 8 个使用 CAS 。对这些统计,我虽然不以为然,但有一点可以肯定的是, CAS 是我认为最简单实效,而且足够安全的 SSO 选择。

本节主要分析 CAS 的安全性,以及为什么 CAS 被这样设计,带着少许密码学的基础知识,我希望有助于读者对 CAS 的协议有更深层次的理解。

2.1 CAS 的结构体系

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

●CAS Server

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

CAS Server 会处理用户名 / 密码等凭证 (Credentials) ,它可能会到数据库检索一条用户帐号信息,也可能在 XML 文件中检索用户密码,对这种方

式, CAS 均提供一种灵活但同一的接口 / 实现分离的方式, CAS 究竟是用何种认证方式,跟 CAS 协议是分离的,也就是,这个认证的实现细节可以自己定制和扩展。

●CAS Client

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

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

2.2 CAS 协议

剖析协议就像剖析设计模式,有些时候,协议让人摸不着头脑。 CAS 的代理模式要相对复杂一些,它引入了一些新的概念,我希望能够在这里描述一下其原理,有助于读者在配置和调试 CAS SSO 有更清晰的思路。

如果没记错, CAS 协议应该是由Drew Mazurek负责可开发的,从 CAS v1 到现在的 CAS v3 ,整个协议的基础思想都是基于 Kerberos 的票据方式。

CAS v1 非常原始,传送一个用户名居然是”yes"ndavid.turing”的方式, CAS v2 开始使用了 XML 规范,大大增强了可扩展性, CAS v3 开始使

用 AOP 技术,让 Spring 爱好者可以轻松配置 CAS Server 到现有的应用环境中。

CAS 是通过 TGT(Ticket Granting Ticket) 来获取 ST(Service Ticket) ,通过 ST 来访问服务,而 CAS 也有对应 TGT , ST 的实体,而且他们在保护 TGT 的方法上虽然有所区别,但是,最终都可以实现这样一个目的——免去多次登录的麻烦。

下面,我们看看 CAS 的基本协议框架:

2.1.1 基础协议

CAS 基础模式

上图是一个最基础的 CAS 协议, CAS Client 以 Filter 方式保护 Web 应用的受保护资源,过滤从客户端过来的每一个 Web 请求,同时, CAS Client 会分析 HTTP 请求中是否包请求 Service Ticket( 上图中的 Ticket) ,如果没有,则说明该用户是没有经过认证的,于是, CAS Client 会重定向用户请求

到 CAS Server ( Step 2 )。 Step 3 是用户认证过程,如果用户提供了正确的 Credentials , CAS Server 会产生一个随机的 Service Ticket ,然后,缓存该Ticket ,并且重定向用户到 CAS Client (附带刚才产生的 Service Ticket ), Service Ticket 是不可以伪造的,最后, Step 5 和 Step6 是 CAS

Client 和 CAS Server 之间完成了一个对用户的身份核实,用 Ticket 查到 Username ,因为 Ticket 是 CAS Server 产生的,因此,所以 CAS Server 的判断是毋庸置疑的。

该协议完成了一个很简单的任务,就是 User(david.turing) 打开 IE ,直接访问 helloservice 应用,它被立即重定向到 CAS Server 进行认证, User 可能感觉到浏览器在 helloservcie 和 casserver 之间重定向,但 User 是看不到,CAS Client 和 CAS Server 相互间的 Service Ticket 核实 (Validation) 过程。当 CAS Server 告知 CAS Client 用户 Service Ticket 对应确凿身份, CAS Client 才会对当前 Request 的用户进行服务。

2.2.2 CAS 如何实现SSO

当我们的 Web 时代还处于初级阶段的时候, SSO 是通过共享 cookies 来实现,比如,下面三个域名要做 SSO :

https://www.360docs.net/doc/a725249.html,

https://www.360docs.net/doc/a725249.html,

https://www.360docs.net/doc/a725249.html,

如果通过 CAS 来集成这三个应用,那么,这三个域名都要做一些域名映射,

https://www.360docs.net/doc/a725249.html,

https://www.360docs.net/doc/a725249.html,

https://www.360docs.net/doc/a725249.html,

因为是同一个域,所以每个站点都能够共享基于 https://www.360docs.net/doc/a725249.html, 的 cookies 。这种方法原始,不灵活而且有不少安全隐患,已经被抛弃了。

CAS 可以很简单的实现跨域的 SSO ,因为,单点被控制在 CAS Server ,用户最有价值的 TGC-Cookie 只是跟 CAS Server 相关, CAS Server 就只有一个,因此,解决了 cookies 不能跨域的问题。

回到 CAS 的基础协议图,当 Step3 完成之后, CAS Server 会向 User 发送一个 Ticket granting cookie (TGC) 给 User 的浏览器,这个 Cookie 就类

似 Kerberos 的 TGT ,下次当用户被 Helloservice2 重定向到 CAS Server 的时候,CAS Server 会主动 Get 到这个 TGC cookie ,然后做下面的事情:1,如果 User 的持有 TGC 且其还没失效,那么就走基础协议图的 Step4 ,达到了 SSO 的效果。

2,如果 TGC 失效,那么用户还是要重新认证 ( 走基础协议图的 Step3) 。

2.2.2 CAS 的代理模式

模式 1 已经能够满足大部分简单的 SSO 应用,现在,我们探讨一种更复杂的情况,即用户访问 helloservice , helloservice 又依赖于 helloservice2 来获取一些信息,如同:

User →?helloservice →?helloservice2

这种情况下,假设 helloservice2 也是需要对 User 进行身份验证才能访问,那么,为了不影响用户体验(过多的重定向导致 User 的 IE 窗口不停地闪动 ) , CAS 引入了一种 Proxy 认证机制,即 CAS Client 可以代理用户去访问其它Web 应用。

代理的前提是需要 CAS Client 拥有用户的身份信息 ( 类似凭据 ) 。与其说之前我们提到的 TGC 是用户持有对自己身份信息的一种凭据,则这里

的 PGT 就是 CAS Client 端持有的对用户身份信息的一种凭据。凭借 TGC , User 可以免去输入密码以获取访问其它服务的 Service Ticket ,所以,这里,凭借 PGT , Web 应用可以代理用户去实现后端的认证,而无需前端用户的参与。

如下面的 CAS Proxy 图所示, CAS Client 在基础协议之上,提供了一个额外的 PGT URL 给 CAS Server, 于是, CAS Server 可以通过 PGT URL 提供一个 PGT 给 CAS Client 。

初学者可能会对上图的 PGT URL 感到迷惑,或者会问,为什么要这么麻烦,要通过一个额外的 URL( 而且是 SSL 的入口 ) 去传递 PGT ?如果直接在 Step 6 返回,则连用来做对应关系的 PGTIOU 都可以省掉。 PGTIOU 设计是从安全性考虑的,非常必要, CAS 协议安全性问题我会在后面一节介绍。

于是, CAS Client 拿到了 PGT( PGTIOU-85…..ti2td ) ,这个 PGT 跟 TGC 同样地关键, CAS Client 可以通过 PGT 向后端 Web 应用进行认证。如下图所示, Proxy 认证与普通的认证其实差别不大, Step1, 2 与基础模式的 Step 1,2 几乎一样,唯一不同的是, Proxy 模式用的是 PGT 而不是 TGC ,是 Proxy Ticket ( PT )而不是 Service Ticket 。

最终的结果是, helloservice2 明白 helloservice 所代理的客户是 David. Turing 同学,同时,根据本地策略, helloservice2 有义务

为 PGTURL=http://helloservice/proxy 服务 (PGTURL 用于表示一个 Proxy 服务 ) ,于是它传递数据给helloservice 。这样, helloservice 便完成一个代理者的角色,协助 User 返回他想要的数据。

代理认证模式非常有用,它也是 CAS 协议 v2 的一个最大的变化,这种模式非常适合在复杂的业务领域中应用 SSO 。因为,以前我们实施 SSO 的时候,都是假定以 IE User 为 SSO 的访问者,忽视了业务系统作为 SSO 的访问者角色。

2.3 CAS 安全性

CAS 的安全性是一个非常重要的 Topic 。 CAS 从 v1 到 v3 ,都很依赖于 SSL ,它假定了这样一个事实,用户在一个非常不安全的网络环境中使用 SSO , Hacker 的 Sniffer 会很容易抓住所有的 Http Traffic ,包括通过 Http 传送的密码甚至 Ticket 票据。

2.3.1 TGC/PGT 安全性

对于一个 CAS 用户来说,最重要是要保护它的 TGC ,如果 TGC 不慎被 CAS Server 以外的实体获得, Hacker 能够找到该 TGC ,然后冒充 CAS 用户访问所有授权资源。

SSO 的安全性问题比普通应用的安全性还要严重,因为 SSO 存在一种门槛效应。以前即使 Hacker 能够截获用户在 Web 应用 A 的密码,它也未必能知道用户在 Web 应用 B 的密码,但 SSO 让 Hacker 只需要截获 TGC( 突破了门槛 ) ,即能访问所有与该用户相关的所有应用系统。

PGT 跟 TGC 的角色是一样的,如果被 Hacker 获得,后果可想而知。

从基础模式可以看出, TGC 是 CAS Server 通过 SSL 方式发送给终端用户,因此,要截取 TGC 难度非常大,从而确保 CAS 的安全性。

因此,某些人认为 CAS 可以不使用 SSL 的想法需要更正一下, CAS 的传输安全性仅仅依赖与 SSL 。

跟 Kerberos 一样 TGT , TGC 也有自己的存活周期。下面是 CAS 的 web.xml 中,通过 grantingTimeout 来设置 CAS TGC 存活周期的参数,参数默认是 120 分钟,在合适的范围内设置最小值,太短,会影响 SSO 体验,太长,会增加安全性风险。

TGC 面临的风险主要并非传输窃取。比如你登陆了之后,没有 Logout ,离开了电脑,别人就可以打开你的浏览器,直接访问你授权访问的应用 ) ,设置一个 TGC 的有效期,可以减少被别人盗用,或者被 Hacker 入侵你的电脑直接获取你系统目录下的 TGC Cookie 。

2.3.2 Service Ticket/Proxy Ticket 安全性

首要明白, Service Ticket 是通过 Http 传送的,以为着所网络中的其他人可以 Sniffer 到其他人的 Ticket 。

CAS 协议从几个方面让 Service Ticket 变得更加安全。

●Service Ticket 只能使用一次。

CAS 协议规定,无论 Service Ticket 验证是否成功, CAS Server 都会将服务端的缓存中清除该 Ticket ,从而可以确保一个 Service Ticket 被使用两次。

●Service Ticket 在一段时间内失效。

假设用户拿到 Service Ticket 之后,他请求 helloservice 的过程又被中断了, Service Ticket 就被空置了,事实上,此时, Service Ticket 仍然有效。 CAS 规定 Service Ticket 只能存活一定的时间,然后 CAS Server 会让它失效。通过在 web.xml 中配置下面的参数,可以让 Service Ticket 在多少秒内失效。

该参数在业务应用的条件范围内,越小越安全。

●Service Ticket 是基于随机数生成的。

Service Ticket 必须足够随机,如果 Service Ticket 生成规则被猜出(如果你使用了 ST+Helloservice+ 自增序列的方式, Hacker 就可以构造下一

个 Ticket ), Hacker 就等于绕过 CAS 认证,直接访问所有服务。

单点登录技术方案

xxxx集团 单点登录技术方案

目录 1. xxxx集团系统建设现状 (4) 1.1. Web应用系统 (4) 1.2. C/S应用系统 (4) 1.3. SSL VPN系统 (4) 2. xxxx集团单点登录系统需求 (5) 2.1. 一站式登录需求 (5) 3. SSO(单点登录)技术简介 (6) 3.1. 修改应用程序SSO方案 (6) 3.2. 即插即用SSO方案 (7) 3.3. 两种SSO方案比较 (7) 3.4. 惠普SSO (7) 3.4.1. 惠普SSO开发背景 (7) 3.4.2. 惠普SSO的功能 (8) 3.4.3. 惠普SSO的特点 (9) 3.4.4. 惠普SSO结构 (10) 4. xxxx集团单点登录技术方案 (11) 4.1. 应用系统中部署惠普SSO单点登录 (11) 4.1.1. 解决全局的单点登录 (12) 4.1.2. 应用系统的整合 (12) 4.1.3. 用户如何过渡到使用单点登录 (13) 4.1.4. 管理员部署业务系统单点登录功能 (14) 4.1.5. 建立高扩展、高容错单点登录环境 (15) 4.1.6. 建立稳定、安全、高速网络环境 (15) 4.2. 定制工作 (16) 4.2.1. SSL VPN结合 (16)

4.2.2. 密码同步 (16) 5. 项目实施进度 (17) 5.1. 基本安装配置 (17) 5.2. 配置认证脚本 (17) 5.3. 总体进度 (17) 6. 硬件清单 (19) 7. 软件清单 (20)

1.xxxx集团系统建设现状 xxxx集团有限责任公司(以下简称集团公司)管理和运营省内11个民用机场,以及20多个关联企业(全资子公司、控股企业、参股企业)。现有的信息系统主要有生产运营系统和管理信息系统,其中生产运营系统包括机场生产运营管理系统、中小机场生产运营管理系统、离港系统、航显系统、广播系统、安检信息管理系统、控制区证件管理系统等,管理信息系统主要有财务系统、OA 系统、邮件系统、资产管理系统、决策支持系统、网站信息发布审批系统、视频点播系统等。这些信息系统的用户包括集团公司所有机场以及关联企业。 各信息系统都有独立的用户组织体系,采用“用户名+密码”的方式来实现身份认证和授权访问。从而与众多企业一样存在如下一些主要问题:1、终端用户需要记住多个用户名和密码;2、终端用户需要登录不同的信息系统以获取信息;3、系统管理员难以应付对用户的管理;4、难以实施系统使用安全方面的管理措施。 1.1.Web应用系统 xxxx集团现有的Web应用系统包括:办公自动化系统(OA)、邮件系统、资产管理系统、内部网站信息发布审批系统、决策支持系统、视频点播系统等。这些系统基本上是各自独立开发的、或者购买的商业软件。每个应用系统都有自己的用户管理机制和用户认证机制,彼此独立。每个应用系统用户名、口令可能各不相同。 1.2.C/S应用系统 xxxx集团目前的C/S应用只有一个:财务系统,金蝶K3财务系统。 1.3.SSL VPN系统 xxxx集团有一套SSL VPN系统,集团局域网之外的用户(包括各地州机场、部分关联企业、用户自己家住房、出差旅馆、无线上网等)是通过SSL VPN 系统进入集团局域网的,通过SSL VPN系统进入集团局域网访问的系统包括:OA系统、邮件系统、资产管理系统、决策支持系统、网站信息发布审批系统及内部网站等。用户经过SSL VPN系统进入集团局域网需要经过身份认证。

SSO 原理浅谈

SSO 原理浅谈 SSO 是一个非常大的主题,我对这个主题有着深深的感受,自从广州UserGroup 的论坛成立以来,无数网友都在尝试使用开源的CAS ,Kerberos 也提供另外一种方式的SSO ,即基于Windows 域的SSO ,还有就是从2005 年开始一直兴旺不衰的SAML 。 如果将这些免费的SSO 解决方案与商业的Tivoli 或Siteminder 或RSA Secure SSO 产品做对比,差距是存在的。毕竟,商业产品的安全性和用户体验都是无与伦比的,我们现在提到的SSO ,仅仅是Web SSO ,即Web-SSO 是体现在客户端;另外一种SSO 是桌面SSO ,例如,只需要作为Administrator 登录一次windows 2000 ,我便能够在使用MSN/QQ 的时候免去登录的环节( 注意,这不是用客户端软件的密码记忆功能) ,是一种代理用户输入密码的功能。因此,桌面SSO 是体现在OS 级别上。 今天,当我们提起SSO 的时候,我们通常是指Web SSO ,它的主要特点是,SSO 应用之间走Web 协议( 如HTTP/SSL) ,并且SSO 都只有一个登录入口。 简单的SSO 的体系中,会有下面三种角色: 1 ,User (多个) 2 ,Web 应用(多个) 3 ,SSO 认证中心(1 个) 虽然SSO 实现模式千奇百怪,但万变不离其宗: l Web 应用不处理User 的登录,否则就是多点登陆了,所有的登录都在SSO 认证中心进行。l SSO 认证中心通过一些方法来告诉Web 应用当前访问用户究竟是不是张三/ 李四。 l SSO 认证中心和所有的Web 应用建立一种信任关系,SSO 认证中心对用户身份正确性的判断会通过某种方法告之Web 应用,而且判断结果必须被Web 应用信任。 2. CAS 的基本原理 CAS(Central Authentication Service) 是Yale 大学发起的一个开源项目,据统计,大概每10 个采用开源构建Web SSO 的Java 项目,就有8 个使用CAS 。对这些统计,我虽然不以为然,但有一点可以肯定的是,CAS 是我认为最简单实效,而且足够安全的SSO 选择。 本节主要分析CAS 的安全性,以及为什么CAS 被这样设计,带着少许密码学的基础知识,我希望有助于读者对CAS 的协议有更深层次的理解。 2.1 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 应用的受保护资源的访问请求,并且需要对请求方进行身份认

单点登录技术文档

济南时代智囊科技有限公司单点登录技术文档
单点登录技术文档
何伟民* 2010.6
1、 单点登录概述 、
单点登录的英文名称为 Single Sign-On,简写为 SSO,它是一个用户认证的过程,允许 用户一次性进行认证之后,就访问系统中不同的应用;而不需要访问每个应用时,都重新输 入密码。IBM 对 SSO 有一个形象的解释“单点登录、全网漫游” 。 SSO 将一个企业内部所有域中的用户登录和用户帐号管理集中到一起,SSO 的好处显 而易见: 1. 减少用户在不同系统中登录耗费的时间,减少用户登录出错的可能性 2. 实现安全的同时避免了处理和保存多套系统用户的认证信息 3. 减少了系统管理员增加、删除用户和修改用户权限的时间 4. 增加了安全性:系统管理员有了更好的方法管理用户,包括可以通过直接禁止和删除用 户来取消该用户对所有系统资源的访问权限 对于内部有多种应用系统的企业来说, 单点登录的效果是十分明显的。 很多国际上的企 业已经将单点登录作为系统设计的基本功能之一。
1.1 单点登录产品
商业 SSO 软件 专门的 SSO 商业软件 主要有:Netgrity 的 Siteminder,已经被 CA 收购。Novell 公司的 iChain。RSA 公 司的 ClearTrust 等。 门户产品供应商自己的 SSO 产品, 如:BEA 的 WLES,IBM 的 Tivoli Access Manager,Sun 公司的 identity Server, Oracle 公司的 OID 等。 上述商业软件一般适用于客户对 SSO 的需求很高,并且企业内部采用 Domino、SAP、 Sieble 等系统比较多的情况下。单点登录产品通常需要在应用软件中增加代理模块,而商业 SSO 产品主要针对大型软件制作了代码模块。 因此,商业 SSO 软件除了价格问题外,另一个重要问题就是对客户自己的应用系统支 持未必十分完善。
第1页

单点登录设计原理

https://www.360docs.net/doc/a725249.html,/j2eeweiwei/article/details/2381332 单点登录设计原理 分类:权限控管Java 2008-05-04 13:12 244人阅读评论(0) 收藏举报 本文以某新闻单位多媒体数据库系统为例,提出建立企业用户认证中心,实现基于安全策略的统一用户管理、认证和单点登录,解决用户在同时使用多个应用系统时所遇到的重复登录问题。 随着信息技术和网络技术的迅猛发展,企业内部的应用系统越来越多。比如在媒体行业,常见的应用系统就有采编系统、排版系统、印刷系统、广告管理系统、财务系统、办公自动化系统、决策支持系统、客户关系管理系统和网站发布系统等。由于这些系统互相独立,用户在使用每个应用系统之前都必须按照相应的系统身份进行登录,为此用户必须记住每一个系统的用户名和密码,这给用户带来了不少麻烦。特别是随着系统的增多,出错的可能性就会增加,受到非法截获和破坏的可能性也会增大,安全性就会相应降低。针对于这种情况,统一用户认证、单点登录等概念应运而生,同时不断地被应用到企业应用系统中。 统一用户管理的基本原理 一般来说,每个应用系统都拥有独立的用户信息管理功能,用户信息的格式、命名与存储方式也多种多样。当用户需要使用多个应用系统时就会带来用户信息同步问题。用户信息同步会增加系统的复杂性,增加管理的成本。 例如,用户X需要同时使用A系统与B系统,就必须在A系统与B系统中都创建用户X,这样在A、B任一系统中用户X的信息更改后就必须同步至另一系统。如果用户X需要同时使用10个应用系统,用户信息在任何一个系统中做出更改后就必须同步至其他9个系统。用户同步时如果系统出现意外,还要保证数据的完整性,因而同步用户的程序可能会非常复杂。 统一存储(UUMS)、分布授权: 解决用户同步问题的根本办法是建立统一用户管理系统(UUMS)。UUMS统一存储所有应用系统的用户信息,应用系统对用户的相关操作全部通过UUMS完成,而授权等操作则由各应用系统完成,即统一存储、分布授权。

单点登录_尚学堂CAS讲义

一.SSO (Single Sign-on)原理 SSO 分为Web-SSO和桌面SSO。桌面SSO 体现在操作系统级别上。Web-SSO体现在客户端,主要特点是:SSO 应用之间使用Web 协议( 如HTTPS) ,并且只有一个登录入口。我们所讲的SSO,指Web SSO 。 SSO 的体系中,有下面三种角色: ?User(多个) ?Web应用(多个) ?SSO认证中心(一个) SSO 实现模式千奇百怪,但万变不离其宗,包含以下三个原则: ●所有的登录都在 SSO 认证中心进行。 ●SSO 认证中心通过一些方法来告诉 Web 应用当前访问用户究竟是不是通过认证的 用户。 ●SSO 认证中心和所有的 Web 应用建立一种信任关系。 二.CAS 的基本原理 CAS(Central Authentication Service) 是Yale 大学发起的构建Web SSO 的Java开源项目。 1.CAS 的结构体系 ◆CAS Server CAS Server 负责完成对用户信息的认证,需要单独部署,CAS Server 会处理用户名/ 密码等凭证(Credentials) 。 ◆CAS Client CAS Client部署在客户端,当有对本地Web 应用受保护资源的访问请求,并且需要对请求方进行身份认证,重定向到CAS Server 进行认证。 2.CAS 协议 基础协议

上图是一个基础的CAS 协议,CAS Client 以过滤器的方式保护Web 应用的受保护资源,过滤从客户端过来的每一个Web 请求,同时,CAS Client 会分析HTTP 请求中是否包请求Service Ticket( 上图中的Ticket) ,如果没有,则说明该用户是没有经过认证的,CAS Client 会重定向用户请求到CAS Server (Step 2 )。Step 3 是用户认证过程,如果用户提供了正确的认证信息,CAS Server 会产生一个随机的Service Ticket ,会向User 发送一个Ticket granting cookie (TGC) 给User 的浏览器,并且重定向用户到CAS Client (附带刚才产生的Service Ticket),Step 5 和Step6 是CAS Client 和CAS Server 之间完成了一个对用户的身份核实,用Ticket 查到Username ,认证通过。 3.CAS 如何实现SSO 当用户访问Helloservice2再次被重定向到CAS Server 的时候,CAS Server 会主动获到这个TGC cookie ,然后做下面的事情: 1)如果User 的持有TGC 且其还没失效,那么就走基础协议图的Step4 ,达到了 SSO 的效果。 2)如果TGC 失效,那么用户还是要重新认证( 走基础协议图的Step3) 。 三.实践配置 下面我们以tomcat 5.5 为例进行说明(这里,我将Server和Client同时放在了同一个Tomcat服务器下)。 软件环境:tomcat 5.5 ant-1.6.5, jdk1.5.0_06 下载cas-server-3.0.4.zip和cas-client和cas-server-jdbc-3.0.5-rc2.jar和mysql 5.0.16和tomcat 5.5.15 https://www.360docs.net/doc/a725249.html,/downloads/cas/cas-server-3.0.4.zip

基于SAML单点登录实现方案的分析

基于SAML单点登录实现方案的分析 摘要 随着信息技术和网络技术的迅猛发展,客户在信息化的过程中拥有了多套不同厂商开发的应用系统。这些系统互相独立,用户在使用每个应用系统之前都必须按照相应的系统身份进行登录,为此用户必须记住每一个系统的用户名和密码,这给用户带来了不少麻烦。特别是随着系统的增多,出错的可能性就会增加,受到非法截获和破坏的可能性也会增大,安全性就会相应降低。针对于这种情况,单点登录概念应运而生,同时不断地被应用到企业应用系统中。 本文对单点登录SSO(Single Sign-On)的背景进行了分析,介绍了两种常见的单点登录技术,重点介绍了SAML技术及其实现单点登录的两种方式。本文基于SAML技术设计了一套可行的方案,并对实现代码进行了必要的分析。最后对安全性进行了分析,给出了相应的解决方法。 关键词 单点登录,SAML,断言 Analysis based on the case of accomplishment of SAML’s single sign-on Wang Shifeng( College Of Software Technology) Directed by Professor Chen Deren Abstract During the process of informationization, customers always use several variously application system provided by different firms. So customers must remember every account and password for different systems if they want to log in or use these systems, as all of them are operating independently from each other. It brings a lot of troubles to the custormers. Especially, if more systems they are using, it is more likely for them to make mistakes, also get illegal campture and destruct, then lower the security of the account. Aimed at fix this problem, the single sign-on come into being and is applied to the company application system grandually.. This paper analyses the background of SSO(Single Sign-On) problem and introduces two common techniques of SSO, emphasizes SAML technique and two methods of SSO. And has designed a feasible SSO system grounded on SAML technique, meanwhile made a analysis of the security and give the relevant solution. Keywords Single Sign-on, SAML, Assertion 目录 第一章绪论 7 1.1 本文研究的背景 7 1.2本文研究的意义 8 第二章单点登录的技术基础 12

CAS 单点登录操作文档

这人CAS 在 Tomcat 中实现单点登录 1证书生成及导入 1.1Server端证书配置 1.2 JAVA信任证书库 D:\Program Files\Java\jdk1.5.0\jre\lib\security\cacerts cacerts证书库默认密码-storepass changeit 查看证书 1.1.1.2 keytool -list -keystore cacerts -storepass changeit 如果存在则删除 1.1.1.1 keytool -delete -alias tomcatsso -keystore cacerts -storepass changeit 创建证书库 1.1.1.3 keytool -genkey -keyalg RSA -alias tomcatsso -dname "cn=https://www.360docs.net/doc/a725249.html," -keystore server.keystore -storepass 12345678 导出证书 1.1.1.4 keytool -export -alias tomcatsso -file tomcatsso.crt -keystore server.keystore -storepass 12345678 加入JAVA信任证书库 1.1.1.5 keytool -import -alias tomcatsso -file tomcatsso.crt -keystore ../jre/lib/security/cacerts -storepass changeit 说明:在生成key的过程,"cn=https://www.360docs.net/doc/a725249.html," 中的https://www.360docs.net/doc/a725249.html,为Server端的域名(必填)。 1.2.1TOMCAT 配置SSL支持

基于CAS模式的单点登录系统设计与分析

Computer Science and Application 计算机科学与应用, 2019, 9(7), 1434-1440 Published Online July 2019 in Hans. https://www.360docs.net/doc/a725249.html,/journal/csa https://https://www.360docs.net/doc/a725249.html,/10.12677/csa.2019.97161 Design and Analysis of Single Sign on System Based on CAS Mode Xiaowei Xu, Jinlei Wang, Wenfei Jiang, Fengjuan Cui North China Sea Data and Information Service, SOA, Qingdao Shandong Received: Jul. 9th, 2019; accepted: Jul. 22nd, 2019; published: Jul. 29th, 2019 Abstract In order to solve the problem of the integration of the existing business application system of NCS, this paper makes a deep research on the principle of CAS integrated authentication, and designs a single sign on system based on CAS mode. Based on the actual situation of various software systems of NCS, this paper analyzes the problems faced by various systems to achieve single sign-on, propos-es different solutions to these problems, and provides technical route for the integration of business application systems of NCS, so as to realize the construction of single sign-on system of NCS. Keywords CAS Authentication, SSO, System Integration 基于CAS模式的单点登录系统设计与分析 徐晓玮,王金磊,姜雯斐,崔凤娟 国家海洋局北海信息中心,山东青岛 收稿日期:2019年7月9日;录用日期:2019年7月22日;发布日期:2019年7月29日 摘要 针对自然资源部北海局现有业务应用系统整合问题,对CAS集成认证原理进行深入研究,设计搭建了基于CAS模式的单点登录系统。结合北海局各类软件系统的实际情况,分析各类系统实现单点登录所面临的问题,针对这些问题提出不同的解决方案,为北海局业务应用系统的整合集成提供技术路线,以实现北海局单点登录系统的建设。

SSO单点登录概要设计说明书

SSO单点登录概要设计说明书 V1.0

文件更改摘要:

目录 1.引言 (3) 1.1编写目的 (3) 1.1.1描述 (3) 1.1.2存在的问题 (3) 1.1.3解决技术 (3) 1.2背景 (3) 1.3术语 (3) 1.4预期读者与阅读建议 (3) 1.5CAS运行原理 (3) 2.总体设计 (4) 2.1设计目标 (4) 2.2运行环境 (5) 2.3网络结构 (5) 2.4总体设计思路和处理流程 (5) 2.5对象关系图 (5) 2.6系统约定 (5) 2.7模块结构设计 (5) 2.8尚未解决的问题 (7) 3.接口设计(暂略) (7) 3.1用户接口(暂略) (7) 3.2外部接口(暂略) (7) 3.3内部接口(暂略) (7) 4.界面总体设计 (7)

1. 引言 1.1 编写目的 1.1.1 描述 随着信息化进一步发展和企业的业务运营需要,企业内部的应用系统越来越多。这些系统往往有着独立的用户认证模块和机制,用户不得不记住每一个系统的登录帐号和密码,在使用不同的系统时,必须重复登录,给用户的使用造成诸多不便。针对这种情况,单点登录(Single Sign On)[1]模型应运而生,同时不断地应用到企业的业务系统中。在单点登录系统中,用户只需在登录时提供一次用户认证信息,通过认证以后,在访问企业门户中的各个子系统时无需再重复登录。 1.1.2 存在的问题 在单点登录系统的实现过程中,往往会碰到如下问题:1) 企业现有的各个应用系统间相互独立或者通信状况是混乱的,对外接口也不同,这给应用系统的集成带来了极大困难。 2) 同一个用户,拥有多个应用系统的访问凭证,使用户信息难以统一管理。3) Cookie不 能跨域的限制也使实现各个应用系统之间Cookie共享成为一个难题。 1.1.3 解决技术 本文介绍的基于CAS协议,采用用户映射机制设计的单点登录方案,能很好的解决这些问题。 1.2 背景 a、软件系统的名称:SSO单点登录系统; b、对企业已有的或要建设的系统进行单点登录整合。 1.3 术语 本系统:SSO单点登录系统; 1.4 预期读者与阅读建议 1.5 CAS运行原理 我们以A公司的员工日志管理系统为例: a.传统的用户认证流程

单点登录解决方案

统一用户认证和单点登录解决方案 总队版的互联网服务平台想要通过网站上的链接直接连接到公司开发的增值平台,并且希望从总队版互联网服务平台登录的用户链接到公司的增值平台后不需要二次登录,针对这一需求我们可以采用同一用户认证和单点登录的方式来实现,下面介绍了统一用户的基本原理和单点登录的一些解决方案。 统一用户管理的基本原理 一般来说,每个应用系统都拥有独立的用户信息管理功能,用户信息的格式、命名与存储方式也多种多样。当用户需要使用多个应用系统时就会带来用户信息同步问题。用户信息同步会增加系统的复杂性,增加管理的成本。例如,用户X 需要同时使用A系统与B系统,就必须在A系统与B系统中都创建用户X,这样在A、B任一系统中用户X的信息更改后就必须同步至另一系统。如果用户X需要同时使用10个应用系统,用户信息在任何一个系统中做出更改后就必须同步至其他9个系统。用户同步时如果系统出现意外,还要保证数据的完整性,因而同步用户的程序可能会非常复杂。 解决用户同步问题的根本办法是建立统一用户管理系统(UUMS)。UUMS统一存储所有应用系统的用户信息,应用系统对用户的相关操作全部通过UUMS完成,而授权等操作则由各应用系统完成,即统一存储、分布授权。UUMS应具备以下基本功能: 1.用户信息规范命名、统一存储,用户ID全局惟一。用户ID犹如身份证,区分和标识了不同的个体。 2.UUMS向各应用系统提供用户属性列表,如姓名、电话、地址、邮件等属性,各应用系统可以选择本系统所需要的部分或全部属性。 3.应用系统对用户基本信息的增加、修改、删除和查询等请求由UUMS处理。4.应用系统保留用户管理功能,如用户分组、用户授权等功能。 5.UUMS应具有完善的日志功能,详细记录各应用系统对UUMS的操作。

CAS单点登录

CAS基本原理与配置 1

版本1.0 日期:2015年11月20日2

目录 1基本原理 (4) 1.1概念简介 (4) 1.2CAS基本原理 (5) 2配置说明 (8) 2.1配置JDK证书 (8) 2.2配置CAS服务器 (10) 2.3配置CAS客户端 (11) 2.4定制化说明 (17) 2.4.1 页面定制化 (17) 2.4.2 数据库定制化 (18) 2.4.3 增加图片验证和短信验证 (20) 2.4.4 增加自定义登录验证 (26) 3

1基本原理 1.1概念简介 单点登录( Single Sign-On , 简称 SSO )是目前比较流行的服务于企业业务整合的解决方案之一, SSO 使得在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。 CAS ( Central Authentication Service )是 Yale 大学发起的一个企业级的、开源的项目,旨在为 Web 应用系统提供一种可靠的单点登录解决方法(属于 Web SSO )。CAS 开始于 2001 年,并在 2004 年 12 月正式成为 JA-SIG 的一个项目。 CAS主要特性: 1、开源的、多协议的 SSO 解决方案; Protocols : Custom Protocol 、 CAS 、 OAuth 、 OpenID 、 RESTful API 、 SAML1.1 、 SAML2.0 等; 2、支持多种认证机制: Active Directory 、 JAAS 、 JDBC 、 LDAP 、 X.509 Certificates 等; 3、安全策略:使用票据( Ticket )来实现支持的认证协议; 4、支持授权:可以决定哪些服务可以请求和验证服务票据( Service Ticket ); 5、提供高可用性:通过把认证过的状态数据存储在 TicketRegistry 组件中,这些组件有很多支持分布式环境的实现,如: BerkleyDB 、 Default 、 EhcacheTicketRegistry 、 JDBCTicketRegistry 、 JBOSS TreeCache 、 JpaTicketRegistry 、 MemcacheTicketRegistry 等; 6、支持多种客户端: Java 、 .Net 、 PHP 、 Perl 、 Apache, uPortal 等; 4

SSO 原理浅谈

SSO原理浅谈 SSO是一个非常大的主题,我对这个主题有着深深的感受,自从广州UserGroup的论坛成立以来,无数网友都在尝试使用开源的CAS,Kerberos也提供另外一种方式的SSO,即基于Windows域的SSO,还有就是从2005年开始一直兴旺不衰的SAML。 如果将这些免费的SSO解决方案与商业的Tivoli或Siteminder或RSA Secure SSO产品做对比,差距是存在的。毕竟,商业产品的安全性和用户体验都是无与伦比的,我们现在提到的SSO,仅仅是Web SSO,即Web-SSO是体现在客户端;另外一种SSO是桌面SSO,例如,只需要作为Administrator登录一次windows2000,我便能够在使用MSN/QQ的时候免去登录的环节(注意,这不是用客户端软件的密码记忆功能),是一种代理用户输入密码的功能。因此,桌面SSO是体现在OS级别上。 今天,当我们提起SSO的时候,我们通常是指Web SSO,它的主要特点是,SSO应用之间走Web协议(如HTTP/SSL),并且SSO都只有一个登录入口。 简单的SSO的体系中,会有下面三种角色: 1,User(多个) 2,Web应用(多个) 3,SSO认证中心(1个) 虽然SSO实现模式千奇百怪,但万变不离其宗: l Web应用不处理User的登录,否则就是多点登陆了,所有的登录都在SSO认证中心进行。l SSO认证中心通过一些方法来告诉Web应用当前访问用户究竟是不是张三/李四。 l SSO认证中心和所有的Web应用建立一种信任关系,SSO认证中心对用户身份正确性的判断会通过某种方法告之Web应用,而且判断结果必须被Web应用信任。 2.CAS的基本原理 CAS(Central Authentication Service)是Yale大学发起的一个开源项目,据统计,大概每10个采用开源构建Web SSO的Java项目,就有8个使用CAS。对这些统计,我虽然不以为然,但有一点可以肯定的是,CAS是我认为最简单实效,而且足够安全的SSO 选择。 本节主要分析CAS的安全性,以及为什么CAS被这样设计,带着少许密码学的基础知识,我希望有助于读者对CAS的协议有更深层次的理解。 2.1CAS的结构体系 从结构体系看,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应用的受保护资源的访问请求,并且需要对请求方进行身份认

单点登录方案

单点登录方案 业务场景 企业在众多异构系统应用过程中,操作人员进行业务数据操作时,经常会在不同系统间操作和切换。操作人员往往苦恼于多个账户号码的记录和不停的在各种系统间的登录和切换动作。在本方案中,我们希望实现应用系统单点登录功能(SSO ),即在某一个系统中登录后,可以根据业务需要,直接进入其他系统,无需二次输入用户名和密码的认证工作。实现单点登录功能后,可以有效的减少用户登录操作次数,提高用户使用系统的友好性。 方案概述 本方案是基于企业用户(下文中“用户”数据含义等同于“账户”数据含义,统一称为用户数据)数据的主数据管理之上。用户数据主数据管理方案的实施方案请参照《主数据管理方案》。企业内异构系统间实施主数据管理方案后,所有系统中的用户数据都来源于“用户主数据”源,且每个系统的用户ID,用户名称及用户密码都是相同的。在此基础之上,需要建立用户认证服务,即用户登录系统时,不仅仅需要通过本系统的认证而是要通过统一认证中心的认证,用户认证中心认证后为本次认证颁发一个令牌,令牌是一个随机的字符串,标志着本次认证成功,用户获取令牌后就能够通过其他系统提供的页面接口进入其他系统而无需二次认证。 本方案的实施有以下特点: ?基于用户数据的主数据管理 首先需要将所有系统中的用户数据统一,并且做到入口唯一和统一共享数据; ?需要建立用户认证中心 需要提供统一的用户认证服务,有用户认证中心或者用户主数据数据源能够提供用户认证功能。 ?理论上所有系统中,只要登录一个系统就能够从这个系统进入任一其他系统 通过令牌方式,只要每个系统适当改造就能够在任一系统间切换;

?认证过程从服务端发起,不在系统跳转过程中直接传递用户名和密码 通过认证服务在服务器端进行用户认证和数据传递,不会通过页面直接传递用户名和密码,安全性较高; ?为系统页面间跳转和业务数据联查建立基础。 单点登录的认证体系可以有效的支撑业务数据联查。比如在财务系统中看到一条财务记录可以从这条记录追溯到业务系统中。 实施准备 软件环境 本方案中单点登录功能的实现,需要企业购置一些集成系统。第一是用户身份认证系统。这个系统可以为应用系统的用户提供统一的认证功能。第二是门户系统或者是OA系统,门户系统在企业应用中一般是全员使用并且作为所有系统的公共入口。下面就介绍一下单点登录方案实施前企业的软件环境准备。 ?用户认证系统 提供用户认证服务。可以在用户主数据管理源上再增用户认证功能。当前最为通用的是用户名/密码认证模式。该模块具备的基本功能为:当其他系统向认证系统提出认证请求时(传递用户名和密码),认证系统能够校验用户名和密码的真伪性。如果用户名和密码正确,告知提出认证的系统认证成功,并为这次认证生成一个令牌(一个随机字符串)标志认证成功。每个认证的系统可以随时使用令牌信息获取该令牌对应的认证信息,如用户名信息,认证时间信息等等。用户认证系统还需要维护认证令牌的生命周期,其中当认证令牌在一段时间内如果没有使用,需要让令牌失效。 ?企业服务总线 在企业应用集成工作中,最好是选购一款合适的企业服务总线产品。企业服务总线保证了企业服务规范的持续性,即企业服务总线能够将每个系统不规范的接口适配成企业标准服务规范,这样每个系统都只与企业服务总线交互,而服务总线屏蔽了不规范的接口,不规范的数据。当前如果企业当前没有采购企业服务总线,每个异构的应用系统也可以通过接口直连,但是这种方式的衔接比较脆弱,不便于以后的升级和维护工作。 ?门户系统或者OA系统 原理上讲,单点登录功能实现后,用户能够从任一应用系统直接登录到其他应用系统中,

单点登录分析报告

单点登录分析报告 Josso介绍 特点 JOSSO 是一个纯Java基于J2EE的单点登陆验证框架,主要用来提供集中式的平台无关的用户验证。 JOSSO 主要特色: 1 100% Java,使用了JAAS,WEB Services/SOAP,EJB, Struts, Servlet/JSP 标准技术; 2 基于JAAS的横跨多个应用程序和主机的单点登陆; 3 可插拔的设计框架允许实现多种验证规则和存储方案; 4 可以使用servlet和ejb Security API 提供针对web应用,ejb 的身份认证服务; 5 支持X.509 客户端证书的强验证模式; 6 使用反向代理模块可以创建多层的单点登陆认证,并且使用多种策略可在每层配置不同的验证模式; 7 支持数据库,LDAP ,XML等多种方式的存储用户信息和证书服务; 8 客户端提供php,asp 的API; 9 目前JBoss 3.2.6 和Jakarta Tomcat 5.0.27 以上版本支持。 由于Josso不能跨域方位,所以放弃此框架。 CAS介绍 Central Authentication Service. Yale 大学发起的一个开源项目,为Web 应用系统提供一种可靠的单点登录方法,CAS 在2004 年12 月正式成为JA-SIG 的一个项目,是目前比较流行的服务于企业单点登录的解决方案之一,用户只需要登录一次就可以访问所有相互信任的应用系统,是一款不错的针对Web 应用的单点登录开源框架,CAS 的服务器提供了一套易于定制的用户认证器接口,用户可以根据自身企业的在线系统的认证方式,来定制自己的认证逻辑。不论是传统的用户名/密码方式,还是基于安全证书的方式;是基于关系数据库的存储,CAS Server给我们提供了这些常用的验证器模板代码,只要稍作修改,便可灵活使用了。此框架为Java 语言编写,当前版本3.2.1,基于Spring,可以很好的集成客户业务模块,扩展性强,安全性高。

Domino单点登录LTPAtoken生成原理

Domino单点登录LTPAtoken生成原理 一、WebSphere与Domino之间的SSO 首先让我们来了解一下Websphere与Domino之间是怎么完成SSO的: 1、Web用户向Websphere发起一个登录请求。 2、Websphere判断为合法用户,登录成功。 3、生成ltpatoken,将ltpatoken写入cookie。 这样,当Web用户后续向Domino发起登录请求时,Domino会找到存放在cookie信息中的ltpatoken信息,并且认为这个ltpatoken有效,完成在domino的登录过程。那么这里会有2个疑问。第1个,Domino怎么会找的到Websphere存放的cookie,这就是为什么配置SSO的时候需要2个系统是在同一个DNS域下面,因为浏览器cookie共享的限制,跨域不能共享cookie嘛(当然也能用一些其他的手段生成跨域的cookie,这样其实通过一定的开发是可以让LTPATOKEN 跨域的,本案例不讨论这个问题)。第2个问题,domino找到这个token之后,凭什么认识这个ltpatoken,并且认为它有效呢,所以要求domino和Websphere在生成ltpatoken的时候就有某种约定。这就是为什么配置Domino SSO文档的时候需要引入Websphere的密钥了。有了这些前提Domino和Websphere之间就能互相认识对方生成的ltpatoken,并且从中读出需要登录的用户名,只要用户名匹配得上(这就是为什么W和D需要用同一个LDAP目录),该用户就完成登录了。以上就是简单的Websphere与Domino之间SSO的原理。当然其实SSO过程还没有这么简单,比如还需要验证ltpatoken的有效期等。 现在我们知道实现SSO的关键在于LtpaToken,Websphere与Domino之间采用LtpaToken 来共享认证信息。 那么基本上任何一个系统只能要完成以下2件事情,它就有可能参与LtpaToken认证的SSO 方案了: 1、能生成一个有效的LtpaToken提供给别人。 2、能解析一个别人生成的LtpaToken。 另外,可能还有一些要求: 1、参与SSO的系统使用同样的密钥生成LtpaToken,称为公钥。 2、参与SSO的用户帐号名称在各系统中一致,因为每个系统从Token中读出了用户名之后 必须要正确关联到本地对应的用户进行登录。 3、参与SSO的系统必须在同一个DNS域下面(跨域的问题前面提过)。

单点登录实现方式介绍

单点登录实现方式介绍 门户系统提供单点登录(Single Sign On,SSO)支持。单点登录意味着用户只需登录一次,即可访问任何集成到门户中的应用系统。 通过IBM Tivoli Access Manager for e-Business为企业Web环境提供功能强大的单点登录(SSO)功能。具体实现时,在企业内部所有的Web应用前放置一个WebSEAL,所有用户对后台Web资源的访问都需要通过WebSEAL来完成,WebSEAL可以与所有的Web应用进行集成,可以和后台的Web应用建立连接,将用户的登录信息传送给应用,同时仍保持对用户的透明。在使用IBM Tivoli Access Manager for e-Business时,用户需要在WebSEAL上登录一次,此后,用户就可以通过WebSEAL,访问有权访问的所有Web应用。 IBM Tivoli Access Manager for e-Business主要提供三种实现单点登陆的方式,1)LTPA WebSphere和Domino提供基于cookie的轻量级第三方认证机制(LTPA,Lightweight Third-Party Authentication),可以配置WebSEAL,连接支持LTPA的应用系统,并为客户机提供单点登陆功能。当用户发出对WebSphere资源的请求时,必须首先向WebSEAL认证。用户认证成功后,WebSEAL代表用户生成LTPA cookie。作为WebSphere认证标记服务的LTPA cookie中包含用户标识、密钥和标记数据、缓冲区长度以及到期信息等,这些信息使用WebSEAL和WebSphere 之间共享的受密码保护的密钥加密。WebSEAL在请求的HTTP头中插入cookie,该请求通过连接发送到WebSphere,后台的WebSphere服务器接收请求、解密cookie并基于cookie中提供的标识信息来认证用户。如下图所示: 1

相关文档
最新文档