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

声明:本文章仅是本人记录作以后备用,不建议作为学习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="

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值