`
security
  • 浏览: 381101 次
  • 来自: www.pgp.org.cn
社区版块
存档分类
最新评论

CAS集成Weblogic的ServletAuthentication调用

阅读更多

本来,使用j_security_check是最简单的Build-in认证方式,但CAS有自己的登录入口,即login servlet,如果用该servlet,必须自己动手完成JAAS的登录。于是,开始扩展CAS的edu.yale.its.tp.cas.auth.provider,在该包中的provider都扩展自authHandler接口,而CAS是在web.xml中定义了最终使用哪一个authHandler。

edu.yale.its.tp.cas.authHandler
edu.yale.its.tp.cas.auth.provider.WeblogicHandler

我自己写了一个WeblogicHandler(edu.yale.its.tp.cas.auth.provider包中),专门让CAS登录到Weblogic Server,事实上,将来如果不用WLS,还可能使用Websphere,Jboss,AD之类。

后来发现,虽然能loginContext拿到Subject,但该Subject的Principal不能被页面的request.getPrincipal()所取得,醒悟自己在做JAAS Login,查看weblogic文档,原来Weblogic提供了
weblogic.servlet.security.ServletAuthentication
用于在Servlet端调用JAAS接口进行登录,通过该接口登录后,就如同User使用了标准的登录机制登入了Weblogic。
于是,立即修改了login servlet测试一下,加入

try {
CallbackHandler handler = new SimpleCallbackHandler(
request.getParameter("username"),
request.getParameter("password"));
Subject mySubject = weblogic.security.services.Authentication
.login(handler);
weblogic.servlet.security.ServletAuthentication.runAs(
mySubject, request);
System.out.println("mySubject[" +mySubject.toString()+"]"+
"写入Session");
} catch (LoginException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

然后,页面果然就能拿到Pincipal了。

分享到:
评论
1 楼 grandboy 2009-04-26  
我觉得应该用IdentityAsserterProvider才更合适。在这里效验CAS token有效性然后从中取出用户名(这个我无法确定是不是能在token里取,但我相信一定能有办法取到),然后再做处理。因为一般情况下,password这么敏感的数据不会传来传去的。

相关推荐

    Weblogic wtc调用tuxedo服务

    WebLogic WTC 支持与 Tuxedo(Transaction Processing Facility)服务的集成,使得基于Java的应用程序能够调用运行在Linux或AIX系统上的Tuxedo服务。以下是如何配置WebLogic WTC以调用Tuxedo服务的详细步骤: 1. **...

    weblogic数据源调用

    WebLogic数据源调用是Java应用在WebLogic服务器上与Oracle数据库交互的关键步骤。WebLogic Server作为一款流行的Java EE应用服务器,提供了强大的数据源管理功能,使得应用程序能够以透明、高效且可管理的方式连接到...

    springboot集成weblogic的jms源码.zip

    这个"springboot集成weblogic的jms源码.zip"压缩包提供了将Spring Boot应用与WebLogic的JMS服务集成的示例代码。 首先,我们来看`JmsConfiguration.java`文件。这是一个配置类,通常用于设置与JMS相关的bean。在...

    用JBOSS CACHE 做CAS集群在weblogic上部署的问题

    标题中的“用JBOSS CACHE做CAS集群在weblogic上部署的问题”涉及到的是一个特定的分布式缓存解决方案在不同应用服务器环境下的集成问题。CAS(Central Authentication Service)是一种开源的身份验证服务,它允许...

    weblogic调用tuxedo示例

    WebLogic调用Tuxedo示例是一个典型的分布式应用架构中的集成技术,主要涉及WebLogic Server(简称WLS)与Tuxedo之间的交互。在这样的架构中,WebLogic作为企业级的Java EE应用服务器,处理HTTP请求,而Tuxedo则作为...

    weblogic和MyEclipse集成配置

    【WebLogic和MyEclipse集成配置详解】 WebLogic是Oracle公司的一款企业级应用服务器,而MyEclipse是一款强大的Java集成开发环境,特别适合于开发和部署Java EE应用程序。将两者集成可以方便地在MyEclipse中管理和...

    Eclipse中集成weblogic时的JDK选择

    在Eclipse中集成WebLogic服务器时,选择正确的JDK版本是非常关键的步骤,因为这直接影响到应用程序的编译、运行以及服务器的稳定性。本文将详细阐述这个过程中的知识点。 首先,JDK(Java Development Kit)是Java...

    tomcat 调用weblogic EJB

    ### Tomcat调用WebLogic EJB的实现方法与步骤 #### 概述 在实际的开发环境中,有时候需要实现不同应用服务器之间的交互。比如,在Tomcat应用服务器中调用部署在WebLogic服务器上的EJB(Enterprise JavaBeans)组件...

    系统集成方案weblogic

    系统集成方案 WebLogic 系统集成方案 WebLogic 是一个基于 WebLogic 应用服务器的系统集成解决方案,旨在提供一个可靠、可扩展的集成平台,满足企业级应用系统的需求。本文档将对系统集成方案 WebLogic 进行详细的...

    03.Weblogic通过WTC调用Tuxedo服务参考文档@xutt.docx

    WebLogic Server 通过 WebLogic Tuxedo Connector (WTC) 调用 Tuxedo 服务的集成方案是企业级应用程序交互的一种常见架构。在银行、电信和金融等行业,Tuxedo 通常作为核心业务系统,而WebLogic 则作为互联网扩展...

    eclipse luna集成weblogic开发环境以及项目部署

    本文主要讲述了如何在Eclipse Luna中集成WebLogic服务器进行开发环境的搭建以及项目的部署。Eclipse是一款广泛使用的Java集成开发环境(IDE),而WebLogic是Oracle公司的一款企业级应用服务器,常用于部署Java EE...

    Weblogic与Tuexdo之间的调用.doc

    Weblogic与Tuexdo之间的调用是企业级应用中常见的一种集成方式,特别是在银行、电信、金融等行业的核心业务系统中。BEA公司的TUXEDO是一个强大的事务处理监控系统,而WebLogic则是流行的Java应用服务器,两者结合...

    weblogic应用与COM组件互调

    WebLogic应用与COM组件的互调是跨平台集成的一个重要方面,尤其是在企业级应用中,可能需要将基于Java的WebLogic服务与使用Microsoft技术(如VB或VC)编写的旧有系统进行整合。JCOM(Java COM Bridge)是WebLogic ...

    WebLogic部署接口说明

    ### WebLogic部署接口环境说明 #### 一、概述 本文档旨在详细介绍如何在WebLogic服务器环境中部署特定的应用程序,特别是针对“maximo.ear”应用的部署流程与配置要点。通过对给定描述与部分文件内容的理解,我们...

    weblogic守护进程:监控weblogic进程,当发现进程停止时调用重启脚本重启

    #功能:weblogic守护进程:监控weblogic进程,当发现进程停止时调用重启脚本重启 #参数:进程唯一标识码,例如“weblogic” #依赖脚本:数据库操作脚本dbExecurteSQL.sh,weblogic重启脚本$PSSC_DOMAIN/startPssc.sh...

    Weblogic使用YALE(耶鲁)CAS实现SSO单点登录 的方法.doc

    Weblogic 使用 YALE CAS 实现 SSO 单点登录的方法 一、Yale CAS 简介 Yale CAS 是耶鲁大学开发的一种开源的单点登录(SSO)解决方案,提供了一个通用的身份验证框架,允许用户使用单个身份验证来访问多个应用程序。...

    Spring+Weblogic JMS

    在本项目中,Spring与WebLogic JMS(Java消息服务)的集成展示了如何在Spring环境中使用消息队列进行通信。 WebLogic JMS是Oracle WebLogic Server提供的消息中间件,它遵循JMS规范,用于在分布式环境中传递消息,...

Global site tag (gtag.js) - Google Analytics