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"登陆,到这里配置就完成了