您的位置:首页 > 数据库

配置数据库认证单点登录

2017-05-11 10:48 169 查看
配置数据库认证单点登录
如果你之前的单点登录搭成功了,之后就简单多了,只需要添加一些配置和jar包即可。若未成功,请参考CAS单点登录入门配置

步骤:

1、引入相关jar包

2、创建数据库和表,填入数据

3、修改配置文件

4、部署,启动tomcat

完成

1、引入相关jar包

1、数据库连接包

2、数据源相关包

3、单点登录jdbc支持包

(根据你机器的环境,选择相应的包)

以下是我用的jar包

MySQL-connector-Java-5.1.25-bin.jar

commons-dbcp.jar

commons-pool.jar

cas-server-support-jdbc-3.4.10.jar

2、创建数据库和表,填入数据

这种问题就不过多说明了

3、修改配置文件

在你的cas-server project中找到如下配置文件:



1、添加datasource

[html]
view plain
copy

print?





<bean id="mysqlDataSource" class="org.apache.commons.dbcp.BasicDataSource">  
         <property name="driverClassName" value="com.mysql.jdbc.Driver" />  
         <property name="url" value="jdbc:mysql://localhost:3306/cas?useUnicode=true&characterEncoding=utf-8"/>  
         <property name="username" value="root" />  
         <property name="password" value="root" />  
    </bean>  



<bean id="mysqlDataSource" class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName" value="com.mysql.jdbc.Driver" />
<property name="url" value="jdbc:mysql://localhost:3306/cas?useUnicode=true&characterEncoding=utf-8"/>
<property name="username" value="root" />
<property name="password" value="root" />
</bean>


2、找到bean,id为:"authenticationManager"

里面找一个<property name="authenticationHandlers">标签,修改如下(官方注释已删掉):

[html]
view plain
copy

print?





<property name="authenticationHandlers">  
    <list>  
        <bean class="org.jasig.cas.authentication.han
4000
dler.support.HttpBasedServiceCredentialsAuthenticationHandler"  
                    p:httpClient-ref="httpClient" />  
                  
    <span style="white-space:pre">    </span><!-- 默认验证方式,帐号=密码即可 -->  
        <!-- <bean class="org.jasig.cas.authentication.handler.support.SimpleTestUsernamePasswordAuthenticationHandler" /> -->  
        <!-- 数据库认证方式 -->  
<span style="white-space:pre">    </span>   <bean class="org.jasig.cas.adaptors.jdbc.QueryDatabaseAuthenticationHandler">  
            <property name="dataSource" ref="mysqlDataSource"/>  
            <property name="sql" value="select password from user where username = ?" />  
        </bean>  
    </list>  
</property>  



<property name="authenticationHandlers">
<list>
<bean class="org.jasig.cas.authentication.handler.support.HttpBasedServiceCredentialsAuthenticationHandler"
p:httpClient-ref="httpClient" />

<span style="white-space:pre">	</span><!-- 默认验证方式,帐号=密码即可 -->
<!-- <bean class="org.jasig.cas.authentication.handler.support.SimpleTestUsernamePasswordAuthenticationHandler" /> -->
<!-- 数据库认证方式 -->
<span style="white-space:pre">	</span>	<bean class="org.jasig.cas.adaptors.jdbc.QueryDatabaseAuthenticationHandler">
<property name="dataSource" ref="mysqlDataSource"/>
<property name="sql" value="select password from user where username = ?" />
</bean>
</list>
</property>


添加了QueryDatabaseAuthenticationHandler,CAS已为我们封装好了,只需要传入sql和datasource即可

下一步部署测试
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: