打开项目中.WEB-INF/deployerConfigContext.xml文件
添加如下信息:
<bean id="casDataSource"
class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName">
<value>com.mysql.jdbc.Driver</value>
</property>
<property name="url">
<value>jdbc:mysql://192.168.1.13:3306/silverbox</value>
</property>
<property name="username">
<value>root</value>
</property>
<property name="password">
<value>root</value>
</property>
</bean>
<bean id="passwordEncoder"
class="org.jasig.cas.authentication.handler.DefaultPasswordEncoder" >
<constructor-arg name="encodingAlgorithm" value="MD5"/>
<property name="characterEncoding" value="UTF-8"/>
</bean>
添加jdbc数据源,及用户密码加密方式
修改如下 信息:
<bean id="authenticationManager" class="org.jasig.cas.authentication.PolicyBasedAuthenticationManager">
<constructor-arg>
<list>
<bean class="org.jasig.cas.authentication.handler.support.HttpBasedServiceCredentialsAuthenticationHandler"
p:httpClient-ref="httpClient" />
<!-- 数据库认证方式 -->
<bean class="org.jasig.cas.adaptors.jdbc.QueryDatabaseAuthenticationHandler">
<property name="dataSource" ref="casDataSource"/>
<property name="sql" value="select password from t_user where username = ?" />
<property name="passwordEncoder" ref="passwordEncoder" />
</bean>
</list>
</constructor-arg>
<property name="authenticationPolicy">
<bean class="org.jasig.cas.authentication.AnyAuthenticationPolicy" />
</property>
</bean>
QueryDatabaseAuthenticationHandler 类用户权限验证类,将根据所给的sql语句查询用户的密码。
再与之比较。以此验证用户的身份信息。
二、加入必要的包:
cas-server-support-jdbc-4.0.0.jar
commons-pool-1.6.jar
commons-dbcp-1.4.jar
mysql-connector-java-5.1.20-bin.jar
其中 cas-server-support-jdbc-4.0.0.jar 在所下载modules就有
再次启动,就可以根据数据库中所提供的用户进行登录了。
注意:
当你的数据库地址,或sql语句写错时,单点登录服务项目是不会抛出异常的。只会显示你登录失败!!!