前面一节应该已经告诉大家如何搭建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(或者其他)这个接口,然后里面写你的加密逻辑即可。

CAS5.2x单点登录(二)cas服务器连接数据库的更多相关文章

  1. CAS5.2x单点登录(一)——搭建cas服务器

    系列文章列表: https://blog.csdn.net/u013825231/article/category/7517313 单点登录的介绍 单点登录(Single Sign On ,简称SSO ...

  2. 单点登录系统CAS筹建及取得更多用户信息的实现

    国内私募机构九鼎控股打造APP,来就送 20元现金领取地址:http://jdb.jiudingcapital.com/phone.html内部邀请码:C8E245J (不写邀请码,没有现金送)国内私 ...

  3. CAS单点登录(一):单点登录与CAS理论介绍

    一.什么是单点登录(SSO) 单点登录主要用于多系统集成,即在多个系统中,用户只需要到一个中央服务器登录一次即可访问这些系统中的任何一个,无须多次登录. 单点登录(Single Sign On),简称 ...

  4. java单点登录系统CAS的简单使用

    转:http://blog.csdn.net/yunye114105/article/details/7997041 背景 有几个相对独立的java的web应用系统, 各自有自己的登陆验证功能,用户在 ...

  5. 单点登录之CAS原理和实现(转载)

    转载源:https://www.jianshu.com/p/613c615b7ef1 单点登录之CAS原理和实现 来源于作者刘欣的<码农翻身> + 自己的备注理解 这家集团公司财大气粗,竟 ...

  6. asp.net项目与开源单点登录项目CAS的结合

    这段时间搞的一个asp.net mvc项目,采用了单点登录. 这个单点登录就是CAS,一个开源的JAVA项目.当然,这并不影响ASP.NET项目结合它来进行登录.因为各自分工不同:单点登录(管它是不是 ...

  7. 单点登录(二)----实战------简单搭建CAS---测试认证方式搭建CAS

    我们在上一篇文章中已经介绍了cas以及它的工作流程. 单点登录(一)-----理论-----单点登录SSO的介绍和CAS+选型 本章我们开始动手搭建一个完整的cas服务实现2个web之间的单点登录. ...

  8. SSO单点登录Spring-Security & CAS使用手册

    1.1概述 1.1.1单点登录介绍 单点登录(Single Sign On , 简称 SSO )是目前比较流行的服务于企业业务整合的解决方案之一, SSO 使得在多个应用系统中,用户只需要登录一次就可 ...

  9. 开源单点登录系统CAS入门

    一.什么是CAS CAS 是 Yale 大学发起的一个开源项目,旨在为 Web 应用系统提供一种可靠的单点登录方法,CAS 在 2004 年 12 月正式成为 JA-SIG 的一个项目.CAS 具有以 ...

随机推荐

  1. Hello 2019 自闭记

    A:8min才过??? #include<iostream> #include<cstdio> #include<cmath> #include<cstdli ...

  2. oracle 查出一个表中字段值出现次数大于2的所有记录

    表web_order  列 name ,businesscode, a.account 周桥 18929609222 3754031157710000妙药 18929609233 3754031157 ...

  3. 【转】结构struct 联合Union和枚举Enum的细节讨论

    结构struct 联合Union和枚举Enum的细节讨论 联合(Union)是一种构造数据类型,它提供了一种使不同类型数据类型成员之间共享存储空间的方法,同时可以实现不同类型数据成员之间的自动类型转换 ...

  4. 【转】C/C++位域结构深入解析

    C/C++位域结构深入解析 内存是以字节为单位进行编址的,编程语言的基本类型中,最小类型的长度一般也就是1个字节.然而,在解决某些问题时,必须要有二进制层面的表达手段(见本博客的自己动手实现DNS协议 ...

  5. 洛谷P4211 LCA

    题意:多次询问,每次求点的标号在[l, r]之间的所有点到点z的lca的深度. 解:看到这题有没有想到某一道很熟悉的题?紫妹和幽香是17岁的少女,喜欢可爱的东西...... 显然这就是开店的超级无敌弱 ...

  6. dedecms添加文章时提示标题为空,编辑文章时编辑器空白的解决办法

    dedecms添加文章时提示标题为空,编辑文章时编辑器空白的解决办法 dedecms出现这个问题与代码无关,主要是和PHP的版本有关,用的PHP5.4,更换成PHP5.2之后就不会有这个问题了. 问题 ...

  7. Hadoop生态圈-Kafka的旧API实现生产者-消费者

    Hadoop生态圈-Kafka的旧API实现生产者-消费者 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.旧API实现生产者-消费者 1>.开启kafka集群 [yinz ...

  8. SQL记录-PLSQL函数

    PL/SQL函数 PL/SQL函数与过程相同,不同之处在于函数有一个返回值.因此,前面的章节中的所有讨论都适用于函数. 创建函数 建立一个独立函数可以使用CREATE FUNCTION语句创建.CRE ...

  9. git push --set-upstream

    我在本地建了一个分支wangxiao,开发完之后,提交代码 git add .git commit -m '注释'git push 出现下面的问题,这个意思是:当前分支没有与远程分支关联. 因此导致了 ...

  10. VMware Linux 下 Nginx 安装配置 - nginx.conf 配置 [负载两个 Tomcat] (三)

    首先启动Nginx 1. 相关浏览 两个 Tomcat 配置:  VMware Linux 下 Nginx 安装配置 - Tomcat 配置 (二) Nginx 安装配置启动: VMware Linu ...