前面一节应该已经告诉大家如何搭建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. Ubutnu linux 下升级python版本,以2.x升级到3.x为例

    Linux操作系统一般 都会自带python,但是python版本会比主流低,故升级python, 主要思路:自带的python的链接link文件是在/usr/bin 下,采用sudo apt-get ...

  2. JSON中JObject和JArray的修改

    一.JObject 和JArray的添加.修改.移除 1.先添加一个json字符串,把json字符串加载到JObject中,然后转换成JObject.根据索引修改对象的属性值,移除属性,添加属性 us ...

  3. sql问题--case-when

    1. 有表如下,请使用查询语句得出相应结果 id job createdate 1 开发 2018-06-19 2 运维 2018-06-20 3 开发 2018-06-19 4 开发 2018-06 ...

  4. 【大数据】Spark性能优化和故障处理

    第一章 Spark 性能调优 1.1 常规性能调优 1.1.1 常规性能调优一:最优资源配置 Spark性能调优的第一步,就是为任务分配更多的资源,在一定范围内,增加资源的分配与性能的提升是成正比的, ...

  5. 一步步创建第一个Docker App —— 4. 部署应用

    原文:https://docs.docker.com/engine/getstarted-voting-app/deploy-app/ 在这一步中,将会使用第一步提到的 docker-stack.ym ...

  6. 【bzoj2961】 共点圆

    http://www.lydsy.com/JudgeOnline/problem.php?id=2961 (题目链接) 题意 按照一定的顺序给出一些圆和一些点,对于每一个点问是否在所有圆内. Solu ...

  7. 假装会python--爬取贴吧正文

    贴吧的老历史想存下来,强行python爬取一波 队友太强,躺好别动,偶尔做点副业 假装会python 基本流程: 1.爬取页面,获取页面的html源码 2.分析源码 通过正则表达式 匹配到想要的内容 ...

  8. 关闭ubuntu dash 方法

    因为ubuntu默认的sh是连接到dash的,又因为dash跟bash的不兼容所以出错了.执行时可以把sh换成bash 文件名.sh来执行.成功.dash是什么东西,查了一下,应该也是一种shell, ...

  9. Python基础数据类型-函数传参详解

    Python基础数据类型-函数传参详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.位置参数 #!/usr/bin/env python #_*_coding:utf-8_* ...

  10. bzoj千题计划267:bzoj3129: [Sdoi2013]方程

    http://www.lydsy.com/JudgeOnline/problem.php?id=3129 如果没有Ai的限制,就是隔板法,C(m-1,n-1) >=Ai 的限制:m减去Ai &l ...