• cas+tomcat+shiro实现单点登录-3-CAS服务器深入配置(连接MYSQL)


    目录

    1.tomcat添加https安全协议

    2.下载cas server端部署到tomcat上

    3.CAS服务器深入配置(连接MYSQL)

    4.Apache Shiro 集成Cas作为cas client端实现

    CAS服务器深入配置(连接MYSQL)

    目前配置好的CAS的用户名和密码验证十分简单,既只要用户名和密码相同就可以登录了。但在实际应用中我们的用户名密码常常是保存在数据库里面的,所以我们希望实现从数据库里面验证用户名和密码。操作步骤如下:

    第一步、MySQL创建数据库和表

    这一步我就不说了,不知道可以查资料

    第二部、添加jar包

    1、下载mysql-connector-java-5.1.34-bin.jar,把该jar包和下载的cas server下面的modules下面的cas-server-support-jdbc-3.5.2.1.jar拷到tomcatwebappscasWEB-INFlib下

    注意:由于我的mysql版本是5.7,网上很多教程下的都是mysql-connector-java-5.1.22.jar,但是我下下来后启动tomcat报错如下:

    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驱动。

    第三步、配置apache-tomcat-8.0.36webappscasWEB-INF目录下的deployerConfigContext.xml文件

    首先增加一个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"登录,到这里配置就完成了

  • 相关阅读:
    VMware 虚拟机NAT模式如何设置网络连接,从头到尾全过程~!!
    mysql数据库中的索引介绍与优化(转)
    AWS磁盘容量问题
    Shell实现强制释放内存
    Tomcat #无法启动8005端口
    100个命令Linux常用命令大全
    Keepalived+Nginx实现高可用负载均衡集群
    python 备份压缩传输
    Python 数据库备份脚本
    shell自动化巡检
  • 原文地址:https://www.cnblogs.com/xrab/p/5796811.html
Copyright © 2020-2023  润新知