打開項目中.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語句寫錯時,單點登陸服務項目是不會拋出異常的。只會顯示你登陸失敗!!!