CAS5.2x单点登录(二)cas服务器连接数据库-程序员宅基地

技术标签: java  数据库  

  前面一节应该已经告诉大家如何搭建cas的服务器了,可是搭建好能用吗?我们现在的用户验证是在哪呢?哪个默认的用户名和密码有是在哪呢?

  本节就讲一下如何使用cas服务器连接我们自己的用户数据库,毕竟没有哪个公司的用户是写死在配置文件上的。好了,言归正传把,这边我就使用mysql来做为列子。 在5.0版本之前配置数据库进行认证是直接在xml里面注入相应的bean以及驱动,但是5.0之后大改了一下,使用配置文件来达到数据库的操作。可能你会问为什么只要配置几个配置就能到达操作数据库的的作用,因为cas其实已经帮我们实现了好多的类,而配置文件的配置是让他自己能找到相应的类去执行,比如你配置数据库的普通验证,他就去找相应的方法,如果你配置加密的,他就会去找其他的,如果你要自定义的话,你就按照他的那种方法去定义。

  

  好了,直接看下面把: 之前我们不是将cas放到tomcat里面运行了吗,里面有一个叫做application.properties的文件,我们的配置就要写在里面,如下图所示 这里写图片描述
    我们看到的最后一行就是设置的默认密码,前面配置的就是端口号以及证书等等。这个暂时对我们没有什么用处。我们就直接看下如何去连接数据库进行用户的验证。其实这些东西官方文档上面都已经给出了,可以自己去查看。


  要想进行数据库的连接,必须要导入一些必要的包,比如数据库驱动,mysql连接等包,这些maven都能在网上找到,我这边就例举我使用的pom文件

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>fxma</groupId>
    <artifactId>Word2Html</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>jar</packaging>

    <name>Word2Html</name>
    <url>http://maven.apache.org</url>

<dependencies>
        <dependency>
            <groupId>org.apereo.cas</groupId>
            <artifactId>cas-server-support-jdbc-drivers</artifactId>
            <version>${cas.version}</version>
        </dependency>
        <dependency>
            <groupId>org.apereo.cas</groupId>
            <artifactId>cas-server-support-jdbc</artifactId>
            <version>${cas.version}</version>
        </dependency>

        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>6.0.6</version>
        </dependency>

    </dependencies>

    <properties>
        <cas.version>5.2.4</cas.version>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <mysql.driver.version>6.0.6</mysql.driver.version>
    </properties>
</project>

 

 

 

拷贝 全部.jar 到目录C:\Program Files\Apache Software Foundation\Tomcat 8.5\webapps\cas\WEB-INF\lib 下。

 

修改    C:\Program Files\Apache Software Foundation\Tomcat 8.5\webapps\cas\WEB-INF\classes\application.properties

 然后在配置文件里面加上如下简单的配置就可以达到数据库的访问了

cas.authn.jdbc.query[0].url=jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&useSSL=false
cas.authn.jdbc.query[0].user=root
cas.authn.jdbc.query[0].password=dsideal
cas.authn.jdbc.query[
0].sql=select * from test_table where name=? cas.authn.jdbc.query[0].fieldPassword=password
cas.authn.jdbc.query[
0].driverClass=com.mysql.jdbc.Driver
 
在引入这个的同时要将之前的哪个默认密码给删掉!!!!!

这时候我们在进行mvn clean package命令的时候会重新生成一个war包,我们将这个新的war包放入到tomcat里面并启动可以看到如下图所示
可以看到现在的提示没有了,因为之前的提示是因为没有连接数据库,使用的是静态的
我们使用数据库里面的数据来进行登录.
我们现在使用的是密文密码,更多时候我们使用的是加密的密码,而cas也为我们提供了这些,比如最简单的md5、加盐以及sha等,cas都提供了只要自己在配置文件里面加就可以了,但是很多时候我们的密码不是简单的这些,这时候就需要我们自己自定义加密了,其实配置文件里面有个cas.authn.jdbc.query[0].passwordEncoder.type这个属性的作用就是我们自己自定义加密使用。只需要实现passwordEncoder(或者其他)这个接口,然后里面写你的加密逻辑即可。

转载于:https://www.cnblogs.com/littlehb/p/9075624.html

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_30525825/article/details/96808179

智能推荐

MongoDB 游标(Cursor)-程序员宅基地

游标定义:通俗的讲,游标是查询的返回资源接口,通过这个接口可以逐条遍历。 声明游标:var c1 = db.user.find({age:{$lt:5}});c1.hasNext();//判断游标是否已经到了尽头c1.next();//取出游标的下一个单元 eg:var c1 = db.user.find({age:{$lt:5}});while ...

html3d模型渲染,【SVG】纯clip-path打造的3D模型渲染器-程序员宅基地

几天之前, 一个species-in-pieces的网站把我震到了(如下图), 出于一个优秀前端的敏锐嗅觉和原始本能, 我立刻祭出了看家法宝——Chrome开发者工具开始偷窥这个网站.简单推敲之后,我发现其实原理可以归结为一个属性--clip-path, 又一篇博文的材料到手! 当我兴高采烈的将我的《Species in Pieces原理解析》进行到一半时,发现First blood在weibo上..._clip-path 能3d吗

SpringMVC中的处理器(Controller) & 处理器映射(handlerMapping)_springmvc 在哪里存在mapping和controller的映射-程序员宅基地

SpringMVC中的处理器: 1)命令处理器(CommandController): 配置文件: 处理器: public class MyCommandController extends AbstractCommandController { // 在默认的构造方法中注册模型 public MyCommandController() {_springmvc 在哪里存在mapping和controller的映射

java mina的使用_java mina使用-程序员宅基地

// 创建一个非阻塞的Server端socket,用NIO IoAcceptor acceptor = new NioSocketAcceptor(); // 创建接受数据的过滤器, 处理最简单的字符串传输,Mina 已经为我们提供了TextLineCodecFactory // 编解码器工厂来对字符串进行编解码处理。 acceptor.getFilterChain(_java mina使用

为图片添加水印(前后端分离,练习用小项目)-程序员宅基地

文章目录项目简介关键代码java后端跨域配置文字水印关键代码图片水印关键代码图片判断vue前端跨域配置项目简介项目码云地址项目功能很简单,给图片添加文字或图片水印。这个项目以个人练习为目的创建,主要是了解Vue和Element-UI,熟悉相关代码书写。目前,有很多软件(桌面或移动应用,在线网页应用)都比我这个项目功能丰富和完善,所以,本人理直气壮的宣传本项目特点——界面丑,功能少,欢迎吐槽,概不接受。关键代码java后端跨域配置前后端分离,部署的时候可能不在同一个域名或IP下,这就涉及到跨

剑指offer Leetcode 排列、组合、子集总结_leetcode 排列与组合模板_ziggy7的博客-程序员宅基地

解法一:DFS思想:https://leetcode-cn.com/problems/ji-qi-ren-de-yun-dong-fan-wei-lcof/solution/mian-shi-ti-13-ji-qi-ren-de-yun-dong-fan-wei-dfs-b/其中证明了只要往右和下走就能访问所有可达解。复杂度分析:时间复杂度:O(MN),最差情况下,机器人遍历矩阵所有单元格,此时时间复杂度为O(MN)空间复杂度:O(MN)代码:class Solution {public._leetcode 排列与组合模板

随便推点

MIPS指令集 指令的格式_mips指令格式-程序员宅基地

目录https://blog.csdn.net/weixin_45792450/article/details/109314693MIPS指令格式MIPS的指令是32位的,相当于一条指令的含义与操作细节完全由32个二进制数完全决定。对32位二进制数的不同划分使用,构成了不同的指令格式。MIPS指令集有三种指令格式:R型指令,I型指令,J型指令MIPS处理器(MIPS CPU)中,具有存储功能的部件是寄存器,即CPU与内存的数据交换本质为寄存器与内存的数据交换。MIPS处理器中的通用寄存器共3_mips指令格式

Linux网络编程socket选项之SO_LINGER-程序员宅基地

Linux网络编程中,socket的选项很多.其中几个比较重要的选项有:SO_LINGER(仅仅适用于TCP,SCTP), SO_REUSEADDR. SO_LINGER 在默认情况下,当调用close关闭socke的使用,close会立即返回,但是,如果send buffer中还有数据,系统会试着先把send buffer中的数据发送出去,然后close才返回. SO_L

机器学习实战笔记——基于KNN算法的手写识别系统_deephsv 模型-程序员宅基地

利用k-近邻分类器实现手写识别系统,训练数据集大约2000个样本,每个数字大约有200个样本,每个样本保存在一个txt文件中,手写体图像本身是32X32的二值图像,如下图所示:首先,我们需要将图像格式化处理为一个向量,把一个32X32的二进制图像矩阵通过img2vector()函数转换为1X1024的向量:def img2vector(filename): retu_deephsv 模型

如何优雅的在Github上浏览代码-程序员宅基地

方法进入github的代码界面。把链接地址http://github.com换成github.githistory.xyz。界面会变成如下的这样。这里显示的上面一栏,表示作者更新的源码的历史,比如最后一次的更改是2018年11月的周六。其他右边的是以前的代码。...

Java实现多线程中生产者、消费者问题,简单易懂_java线程实现生产者消费者-程序员宅基地

思想:1、生产者在while循环里不停地生产“产品”,每生产一个,就交给店员,店员就得到一个产品2、消费者在while循环里不停地消费产品,每消费一个,店员就移走一个产品3、店员手里的产品少于20个,就从生产者那里拿走产品。等于20个,就停止从生产者那里拿走产品4、店员手里的产品多于0个,就让消费者消费产品。等于0个,就停止让消费者消费产品生产者:生产者在while循环里不停地生产“产品”,每生产一个,就交给店员,店员就得到一个产品//生产者class Producte._java线程实现生产者消费者

计算机功能自定义,四种自定义方式凸显word2010个性化 -电脑资料_带虾条酱的博客-程序员宅基地

一、外观界面自定义Word 2010与老版本相比,特别是与Word 2003及更早的版本相比,外观界面有了翻天覆地的变化,内置的“配色方案”还允许用户根据自己的喜好自定义外观界面的主色调,单击“文件 → 选项”,打开“Word选项”窗口,切换到“常规”选项卡,打开“配色方案”右侧下拉框,这里有蓝色、银色和黑色三种颜色方案供用户选择,选择不同的配色方案,界面外观会呈现不同的风格,从而满足不同用户的个...