3.CAS服務器深刻配置(鏈接MYSQL)mysql
4.Apache Shiro 集成Cas做爲cas client端實現web
目前配置好的CAS的用戶名和密碼驗證十分簡單,既只要用戶名和密碼相同就能夠登陸了。但在實際應用中咱們的用戶名密碼經常是保存在數據庫裏面的,因此咱們但願實現從數據庫裏面驗證用戶名和密碼。操做步驟以下:spring
這一步我就不說了,不知道能夠查資料sql
一、下載mysql-connector-java-5.1.34-bin.jar,把該jar包和下載的cas server下面的modules下面的cas-server-support-jdbc-3.5.2.1.jar拷到tomcat\webapps\cas\WEB-INF\lib下數據庫
注意:因爲個人mysql版本是5.7,網上不少教程下的都是mysql-connector-java-5.1.22.jar,可是我下下來後啓動tomcat報錯以下:apache
PropertyAccessException 1: org.springframework.beans.MethodInvocationException:
Property 'driverClassName' threw exception; nested exception is java.lang.IllegalStateException: Could not load JDBC driver class [com.mysql.jdbc.Driver]
我下載mysql-connector-java-5.1.34-bin.jar版本就行了,因此大家根據本身的mysql版本下載jdbc驅動。tomcat
首先增長一個datasource,經過增長一下的代碼實現:安全
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> <property name="driverClassName" value="com.mysql.jdbc.Driver"></property> <property name="url" value="jdbc:mysql://192.168.20.254:3306/nh"/> <property name="username" value="root"/> <property name="password" value="123456"/> </bean>
而後改變認證方式,定位到以下代碼:
<bean class="org.jasig.cas.authentication.handler.support.SimpleTestUsernamePasswordAuthenticationHandler" />
把它註釋掉,換成:
<!--<bean class="org.jasig.cas.authentication.handler.support.SimpleTestUsernamePasswordAuthenticationHandler" />--> <bean class="org.jasig.cas.adaptors.jdbc.QueryDatabaseAuthenticationHandler"> <property name="dataSource" ref="dataSource" /> <property name="sql" value="select password from sus_user where username=?" /> </bean>
(4)重啓tomcat,再次到登陸頁面https://localhost:443/cas/login上,就能夠用數據庫中的用戶名和密碼登陸了,好比我這裏用設置的"test","123456"登陸,到這裏配置就完成了