cas深入之扩展:clear pass 扩展

本文详细介绍了CAS(Central Authentication Service)的Clear Pass扩展,这是一个不推荐但有时必要的功能,用于在CAS Server端存储用户密码,以便在特定场景下,如集成非Web应用或企业级Portal时,安全地获取密码。文章涵盖了Clear Pass的工作原理,部署步骤,包括修改配置文件、添加依赖和更新web.xml,以及客户端如何通过代理机制获取并显示密码。在理解风险的前提下,Clear Pass提供了一种处理敏感信息的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近在研究cas(central authentication service),关于它的介绍网上到处都是,我用的版本是3.5.2。偶然间看到它的clear pass 扩展。何为clear pass,用一句话概括之就是在用户登录时,cas server端保存用户的密码,然后当cas client  需要时候通过适当的方式从server端获取。这个功能cas server不建议使用,但是它被扩展出来总是有原因的吧?
我们在应用cas 作为单点服务器,cas client端集成应用,一般都是集成web应用。如果我们需要集成一个非web应用,而当用户请求时需要用户名密码,我们应当如何处理?又当我们在集成企业级portal时,也有可能需要到用户的密码,我们应当如何处理?
那么 clear pass 可以解决这个问题。
要想了解clear pass 如何工作,需要先了解cas 的代理协议,或者说cas 是如何完成代理功能的。关于cas的代理访问,也可以google一下。下面主要描述一下部署的步骤:
1.开启 server端的 clear pass 功能,在deployerConfigContext.xml中将如下注释去掉就开启了c lear pass 功能。
<!-- Uncomment the metadata populator to allow clearpass to capture and cache the password
    This switch effectively will turn on clearpass.  
<property name="authenticationMetaDataPopulators">
  <list>
     <bean class="org.jasig.cas.extension.clearpass.CacheCredentialsMetaDataPopulator">
        <constructor-arg index="0" ref="credentialsCache" />
     </bean>
  </list>
</property>  -->
当然从这一段的注释,我们也可以知道,cas是不鼓励使用的,因为是保存用户的密码。因为密码是涉密性信息,所以本扩展只是将其保存在内存中,cas 用的ehcache缓存。下面主要是credentialsCache的配置;
2.将cas server工程中\unused-spring-configuration\clearpass-configuration.xml文件移到\spring-configuration目录中,注意这个xml引入的schema,及
对id为casValidationFilter的bean配置,你需要配置clearPassProxyList这个bean,所以需要引入http://www.springframework.org/schema/util/spring-util-3.1.xsd
当然为了方便你也可以将 <property name="allowedProxyChains" ref="clearPassProxyList" /> 替换为 <property name="acceptAnyProxy" value="true" />,而不需要配置clearPassProxyList;
3. 修改ticketRegistry.xml
将<bean id="ticketRegistry" class="org.jasig.cas.ticket.registry.DefaultTicketRegistry"/> 修改为
<bean id="ticketRegistryValue" class="org.jasig.cas.ticket.registry.DefaultTicketRegistry" />,因为id ticketRegistry在clearpass-configuration.xml中已占用了;
4. 修改 cas.properties中server.name的值,为实际部署环境机器的值;
5.修改web.xml 
增加
<servlet-mapping>
<servlet-name>cas</servlet-name>
<url-pattern>/clearPass</url-pattern>
</servlet-mapping>
<filter>
<filter-name>clearPassFilterChainProxy</filter-name>
<filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
</filter>
<filter-mapping>
<filter-name>clearPassFilterChainProxy</filter-name>
<url-pattern>/clearPass</url-pattern>
</filter-mapping>
6.加入jar包
cas-server-extension-clearpass-3.5.2.jar
ehcache-core-2.8.1.jar 
slf4j-api-1.6.6.jar
7.重新部署cas server应用;
这样服务端就完

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值