多系统单点登录(CAS整合)

本文介绍了如何通过CAS实现多系统单点登录,包括CAS服务器端的JDBC认证配置,客户端的过滤器设置,以及用户信息的获取方法。服务器端使用JDBC认证方式,客户端配置了多个CAS过滤器以完成验证和会话同步。
摘要由CSDN通过智能技术生成

声明:本文章仅是本人记录作以后备用,不建议作为学习cas的参考文章,毕竟每人的思路不一样,此文章会有好多地方写得过于简单,网路上很多关于cas的文章写得比此文好好多。

首先CAS有服务器端(本人用4.0.0版本)和客户端(3.3.3版本)

服务器端:

服务器端作为统一认证的地方,所以各个系统的用户要统一。

认证的方式有3种,本人采用JDBC的认证方式(AbstractJdbcUsernamePasswordAuthenticationHandler),把配置文件deployerConfigContext.xml里的默认认证方式修改,代码如下:

旧的认证方式:

<bean id="primaryAuthenticationHandler"
          class="org.jasig.cas.authentication.AcceptUsersAuthenticationHandler">
        <property name="users">
            <map>
                <entry key="casuser" value="Mellon"/>
            </map>
        </property>
  </bean>

说明:casuser为用户名,Mellon为密码

jdbc认证方式:

<bean id="primaryAuthenticationHandler"
class="cas.filter.MyQueryDatabaseAuthenticationHandler">
<property name="dataSource" ref="dataSource"></property>
<property name="sql" value="SELECT password FROM t_user WHERE username=?"></property>
<property name="passwordEncoder" ref="MD5PasswordEncoder"></property>
</bean>

说明:class的值为重写认证方式,代码下面会给出,dataSource为在此配置文件配置的数据源,passwordEncoder为密码的加密方式。

数据源配置略,passwordEncoder加密方式配置如下:

<bean id="MD5PasswordEncoder" class="org.jasig.cas.authentication.handler.DefaultPasswordEncoder">
<constructor-arg index="0">
<value>MD5</value>
</constructor-arg>
</bean> 

以下配置是返回用户的个人信息,供客户端使用:

<bean id="attributeRepository" class="org.jasig.services.persondir.support.jdbc.SingleRowJdbcPersonAttributeDao">
        <constructor-arg index="0" ref="dataSource"/>
        <constructor-arg index="

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值