单点登录:CAS服务端数据源设置

CAS服务端数据源设置

配置数据源

(1)修改cas服务端中web-inf下deployerConfigContext.xml ,添加如下配置

<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" 

                              p:driverClass="com.mysql.jdbc.Driver" 

                              p:jdbcUrl="jdbc:mysql://127.0.0.1:3306/db?characterEncoding=utf8" 

                              p:user="root" 

                              p:password="123456" />

<bean id="passwordEncoder"

class="org.jasig.cas.authentication.handler.DefaultPasswordEncoder" 

                   c:encodingAlgorithm="MD5" 

                   p:characterEncoding="UTF-8" /> 

<bean id="dbAuthHandler" 

                     class="org.jasig.cas.adaptors.jdbc.QueryDatabaseAuthenticationHandler" 

                     p:dataSource-ref="dataSource" 

                     p:sql="select password from tb_user where username = ?" 

                     p:passwordEncoder-ref="passwordEncoder"/> 

然后在配置文件开始部分找到如下配置

 <bean id="authenticationManager" class="org.jasig.cas.authentication.PolicyBasedAuthenticationManager">

        <constructor-arg>

            <map>              

                <entry key-ref="proxyAuthenticationHandler" value-ref="proxyPrincipalResolver" />

                <entry key-ref="primaryAuthenticationHandler" value-ref="primaryPrincipalResolver" />

            </map>

        </constructor-arg>     

        <property name="authenticationPolicy">

            <bean class="org.jasig.cas.authentication.AnyAuthenticationPolicy" />

        </property>

</bean>

其中

 <entry key-ref="primaryAuthenticationHandler" value-ref="primaryPrincipalResolver" />

一句是使用固定的用户名和密码,我们在下面可以看到这两个bean ,如果我们使用数据库认证用户名和密码,需要将这句注释掉。

添加下面这一句配置

<entry key-ref="dbAuthHandler" value-ref="primaryPrincipalResolver"/>

(2)将以下三个jar包放入webapps\cas\WEB-INF\lib下 

用数据库中的用户名和密码进行测试

猜你喜欢

转载自blog.csdn.net/Deltao_Taic/article/details/81489112