打开项目中.WEB-INF/deployerConfigContext.xml文件java
添加以下信息:mysql
<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数据源,及用户密码加密方式sql
修改以下 信息:数据库
<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语句查询用户的密码。apache
再与之比较。以此验证用户的身份信息。加密
2、加入必要的包:url
cas-server-support-jdbc-4.0.0.jarspa
commons-pool-1.6.jarcode
commons-dbcp-1.4.jarserver
mysql-connector-java-5.1.20-bin.jar
其中 cas-server-support-jdbc-4.0.0.jar 在所下载modules就有
再次启动,就能够根据数据库中所提供的用户进行登陆了。
注意:
当你的数据库地址,或sql语句写错时,单点登陆服务项目是不会抛出异常的。只会显示你登陆失败!!!