前面一节应该已经告诉大家如何搭建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. IntelliJ IDEA之如何提交代码到SVN服务器

    一.准备 参照<IntelliJ IDEA教程之如何配置SVN>这篇文章配置SVN插件.提交代码到SVN之前,记得要先创建版本库,请参照<<SVN如何建立版本库>> ...

  2. 普通的jdbc事务在插入数据后 下面的代码报错时 数据不会回滚 但是 spring的事务会回滚

    普通的jdbc事务在插入数据后 下面的代码报错时 数据不会回滚 但是 spring的事务会回滚

  3. DynamicSegmentTree

    最近尝试了一下动态开点线段树,英文直译就是Dynamic Open Point Segment Tree,太SB了. 就跟之前的主席树写法差不多. if(!x || x == y) { x = ++t ...

  4. 洛谷P2469 星际竞速

    上下界费用流比较无脑,提供一种更巧妙的费用流,无需上下界. #include <cstdio> #include <algorithm> #include <queue& ...

  5. centos7+mysql5.7.11实现主从复制

    1  首先检测当前的系统是否已经安装了MySQL yum list installed | grep mysql 如果有的话,删除 2  下载rpm库资源,在网页 https://dev.mysql. ...

  6. 在ubuntu server上搭建Hadoop

    1. Java安装: Because everything work with java. $ sudo apt-get install openjdk-7-jdk 安装之后,可以查看java的版本信 ...

  7. webpack实现“热更新”和“热加载”(webpack3.6新增)

    之前的博文有提到怎么样去实现热更新,但是居然要用到另外一个node框架(express)而且新增了一个入口(entry)两个插件(plugin)来实现,大大提高了配置的复杂度,这样其实对使用webpa ...

  8. nodejs读取json文件,写入mongodb数据库

    最近又一点时间,开始使用mongodb存储json模型文件,然后可以实现模型文件的在线编辑和管理.今天上午实现了json文件入库的代码,如下: var fs=require("fs" ...

  9. C#_界面程序_数码游戏

    using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...

  10. H5 以及 CSS3

    <!DOCTYPE html> <html> <head> <style> *{ padding:0; margin:0; } header{ disp ...