文章 - 106 评论 - 14 收藏 - 1 粉丝 - 0 访问量 - 96318

在许多项目中,客户由于成本或者多方面考 虑,会使用一些SSO方案。汉和SSO正是应用Yale CAS基础上开发出来的SSO方案。本文说明如何在PORTAL上使用汉和SSO。

CAS 介绍


CAS 是 Yale 大学发起的一个开源项目,旨在为 Web 应用系统提供一种可靠的单点登录方法,CAS 在 2004 年 12 月正式成为 JA-SIG 的一个项目。CAS 具有以下特点:


* 开源的企业级单点登录解决方案。

* CAS Server 为需要独立部署的 Web 应用。

* CAS Client 支持非常多的客户端(这 里指单点登录系统中的各个 Web 应用),包括 Java, .Net, PHP, Perl, Apache, uPortal, Ruby 等。


汉和SSO 原理和协议

从结构上看,CAS 包含两个部分: CAS Server 和 CAS Client。CAS Server 需要独立部署,主要负责对用户的认证工作;CAS Client 负责处理对客户端受保护资源的访问请求,需要登录时,重定向到 CAS Server。


标准CAS的重定向是利用FILTER来 完成的。对于PORTAL而言,如果使用FILTER进行登录的拦截,LTPA TOKEN无法生成。因此需要考虑其它的方式。

WAS进行CAS客户端配置。使用TAI方式进行登录。

 

1、用户访问PORTAL的 请求被重定向到CAS。

2、CAS判断用 户是否已登录。若是,转回PORTAL。若否,登录建立CAS SESSION再转PORTAL。

3、PORTAL 检测用户是否已登录PORTAL(LTPA)。若是,则进入页面。若否,转TAI。TAI通过配置的属性检查CAS TICKET的有效性。由于WAS 配置TAI后,就可以由信任的TAI进行用户身份验证,而WAS的安全机制不作其它的验证工作。CAS TAI验证用户成功后,即返回用户的相关信息由WAS的 安全模块根据这些信息创建WAS 的SESSION(LTPA)。

汉和SSO 与websphere portal 整合原理

 

1.为信任关联开发定制***CasClientWebsphere.jar

使用 TrustAssociation Interceptor 接口

WebSphere Application Server 提供了*** Java 接口 com.ibm.websphere.security.TrustAssociationInterceptor,此接口定义了下列方法:

public boolean isTargetInterceptor (HttpServletRequest req) throws WebTrustAssociationException;
public void validateEstablishedTrust (HttpServletRequest req) throws WebTrustAssociationException;
public string getAuthenticatedUsername (HttpServletRequest req) throws WebTrustAssociationException;
isTargetInterceptor 方法用来确定由代理服务器产生的请求是否与***相关联。实现代码必须检查入局请求对象,并确定转发请求的代理服务器是否是此***的有效代理服务器。此方法的结果确定***是否处理请求。

validateEstablishedTrust 方法确定请求从中产生的代理服务器是否可信。在 isTargetInterceptor 方法之后调用此方法。实现代码必须认证代理服务器。认证机制是特定于代理服务器的。如果凭证无效,则代码抛出 WebTrustAssociationException 异常,表示代理服务器不可信且将拒绝该请求。

2.在WAS管理控制台中配置TAI
启动管理控制台。
展开安全性并单击 LTPA。
单击信任关联。
选择启用信任关联,然后单击***,并配置相关参数

3.重启webspere portal
 

 欢迎您访问汉和的网址,了解更多信息:www.hanhe-tech.com,有任何疑问可随时与我们联系。谢谢!

发表于: 2011-04-14 11:04 阅读(1862) 评论(0) 收藏 好文推荐

发表评论(网友发言只代表个人观点,不代表本网站观点或立场。)

您尚未登录,请先【登录或注册