包括:
一.验证用户查询数据库
二.登录页的修改一.验证用户查询数据库
一.验证用户查询数据库
我们之前所实现的都是使用admin/admin,那么实际使用中该如何查询数据库?
首先复习我们之前CAS的验证方式:
<list>
对于登录页的修改,首先我们可以知道,CAS服务器返回的登录页的路径:/WebContent/ WEB-INF/view/jsp/default/ui/casLoginView.jsp
由此,我们知道,在最后springmvc为其注入SimpleTestUsernamePasswordAuthenticationHandler类来验证。
<property name="authenticationHandlers">
其实,CAS也提高了注入org.jasig.cas.adaptors.jdbc.QueryDatabaseAuthenticationHandler,来让我们来查询数据库,十分的方便。
修改步骤:
1.在deployerConfigContext.xml文件中,有原来的定义方式
<bean id="authenticationManager"
class="org.jasig.cas.authentication.AuthenticationManagerImpl">
<bean id="authenticationManager"
class="org.jasig.cas.authentication.AuthenticationManagerImpl">
<list>
<bean class="org.jasig.cas.authentication.handler.support.SimpleTestUsernamePasswordAuthenticationHandler" />
二.登录页的修改
......
2.在刚才注释的地方换成下述代码,修改成我们查询数据库的方式:
<bean class = "org.jasig.cas.adaptors.jdbc.QueryDatabaseAuthenticationHandler">
<property name="dataSource" ref="casDataSource" />
<property name="sql" value="select password from user where username = ?" />
<!-- <property name="passwordEncoder" ref="myPasswordEncoder" /> -->
那么,我们首先把他原来的注释掉。
2.在刚才注释的地方换成下述代码,修改成我们查询数据库的方式:
<bean class = "org.jasig.cas.adaptors.jdbc.QueryDatabaseAuthenticationHandler">
<property name="dataSource" ref="casDataSource" />
<property name="sql" value="select password from user where username = ?" />
<!-- <property name="passwordEncoder" ref="myPasswordEncoder" /> -->
</bean>
接着在deployerConfigContext.xml的最后面加入下面的mysql配置即可。
接着在deployerConfigContext.xml的最后面加入下面的mysql配置即可。
<bean id="casDataSource"
class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName">
<value>com.mysql.jdbc.Driver</value>
</property>
<property name="url" value=" jdbc:mysql://192.168.8.1:3306/whc_sso?useUnicode=true" />
<property name="username">
<value> root</value>
</property>
<property name="password">
<value> 123456</value>
</property>
</bean>
class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName">
<value>com.mysql.jdbc.Driver</value>
</property>
<property name="url" value=" jdbc:mysql://192.168.8.1:3306/whc_sso?useUnicode=true" />
<property name="username">
<value> root</value>
</property>
<property name="password">
<value> 123456</value>
</property>
</bean>
这样就可以做到基本的查询了,经过测试可以成功通过。
对于登录页的修改,首先我们可以知道,CAS服务器返回的登录页的路径:/WebContent/ WEB-INF/view/jsp/default/ui/casLoginView.jsp
然后我们就可以直接修改这个页面。暂不演示。
切忌:
只改样式,像form表单这种保留原本的,避免出错。