CAS配置二-通过数据库进行登录验证

上一篇记录了搭建基本的CAS单点登录服务器: http://blog.csdn.net/redstarofsleep/article/details/51135105

在实际中,用户信息都是存储在数据库中的,所以就需要配置数据库认证:

首先在cas-server-webapp的WEB-INF目录下找到deployerConfigContext.xml这个Spring配置文件,在文件中找到SimpleTestUsernamePasswordAuthenticationHandler,将这个基本认证换成数据库认证QueryDatabaseAuthenticationHandler

<!--
<bean 
	class="org.jasig.cas.authentication.handler.support.SimpleTestUsernamePasswordAuthenticationHandler" />
-->
<bean class="org.jasig.cas.adaptors.jdbc.QueryDatabaseAuthenticationHandler">
	<property name="dataSource" ref="dataSource"></property>
	<property name="sql" value="select passwd from sampleUser where userName=?"></property>
	<property name="passwordEncoder" ref="SHAPasswordEncoder"></property>
</bean>
这个Handler里面3个属性,第一个是数据库连接的dataSource,下面马上配,第二个是查询的SQL语句。第三个是密码的加密方式,也是下面要配的。


然后配置数据库连接的DataSource,在这个配置文件中新加一个bean

	<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
		<property name="driverClassName"><value>org.gjt.mm.mysql.Driver</value></property>
		<property name="url"><value>jdbc:mysql://192.168.56.101:3306/sample?characterEncoding=UTF-8</value></property>
		<property name="username"><value>root</value></property>
		<property name="password"><value>123</value></property>
	</bean>
这个就是很标准的在spring里配数据库dataSource的方式,没什么特殊的。


最后一个要配的就是密码的加密方式,还是在这个文件中,再加一个bean

	<bean id="SHAPasswordEncoder" class="org.jasig.cas.authentication.handler.DefaultPasswordEncoder">
		<constructor-arg index="0">
			<value>SHA-1</value>
		</constructor-arg>
	</bean>
我这里使用的是SHA的哈希值,所以传的参数是“SHA-1”,也可以是MD5. 当然,这个加密方式也可以自己写自己的实现

这个配置文件就配完了。

然后再找到cas-server-support-jdbc的jar包,这个和cas-server一样,可以自己编译,也可以下载现成的。以及数据库连接的驱动jar包,把这两个jar包放到cas-server-webapp编译后的WEB-INF/lib下,重新启动tomcat就可以了。

再用客户端登录的时候就是从数据库中查询了。


转载请注明出处: http://blog.csdn.net/redstarofsleep


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值