cas-server Jdbc 链接读取用户(5)

打开项目中.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语句写错时,单点登陆服务项目是不会抛出异常的。只会显示你登陆失败!!!

相关文章
相关标签/搜索