CAS3.5 单点登录 整合数据库认证

准备工作

Tomcat6.0.29

JDK6

CAS Server版本:cas-server-3.5

CAS Client版本:cas-client-3.1.12

将cas-server-support-jdbc-3.5.1.jar 包拷贝到cas项目的lib目录下。

一、配置数据源

在WEB-INF/deployerConfigContext.xml最后位置加入

<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName"><value>com.microsoft.sqlserver.jdbc.SQLServerDriver</value></property>
<property name="url"><value>jdbc:sqlserver://192.168.1.21:1433;DatabaseName=lzfw</value></property>
<property name="username"><value>sa</value></property>
<property name="password"><value>sa123456</value></property>
</bean>

二、在WEB-INF/deployerConfigContext.xml 下将cas默认认证方式去掉

<bean
class="org.jasig.cas.authentication.handler.support.SimpleTestUsernamePasswordAuthenticationHandler" />

三、在<property name="authenticationHandlers"><list></list><property>中将加入

<bean
class="org.jasig.cas.adaptors.jdbc.QueryDatabaseAuthenticationHandler">
<property name="dataSource" ref="dataSource" />
<property name="sql"
value="select loginName from sys_user where id = ?" />
<property name="passwordEncoder" ref="MD5PasswordEncoder" />
</bean>

配置解释

select loginName from sys_user where id = ? 查询数据库的sql语句, 通过用户名登录,则通过登录用户名查询登录密码,将密码与登录密码进行匹配登录是否成功.

cas-server-support-jdbc-3.5.1包中的QueryDatabaseAuthenticationHandler.java类是通过用户名查询数据库密码与登录密码进行匹配的实现类.

ref=“MD5PasswordEncoder” 为加密算法类,如果数据库中的密码加密的,可定义一个加密类。

<bean id="MD5PasswordEncoder" class="org.cxg.util.MyPasswordEncoder" />

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值