1、安装jdk1.8

https://www.cnblogs.com/kgdxpr/p/6824093.html

2、安装tomcat8

3、安装maven

https://www.cnblogs.com/kgdxpr/p/9849856.html

4、下载cas-overlay

https://github.com/apereo/cas-overlay-template/tree/5.3

百度地址:https://pan.baidu.com/s/11xHLsGiUplmARRdI4PRtCA

解压cas-overlay-template-5.3.zip

进入cas-overlay-template-5.3目录

执行:mvn clean package

将生成的cas目录复制到tomcat下

5、利用maven为cas下载连接数据库的依赖包

pom.xml内容如下:

<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>8.0.12</version>
</dependency> </dependencies> <properties>
<cas.version>5.3.4</cas.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<mysql.driver.version>8.0.12</mysql.driver.version>
</properties>
</project>

mvn -f pom.xml dependency:copy-dependencies

将下载的jar包复制到cas的lib目录下

设置cas的配置文件application.properties

将默认的静态用户名和密码配置注释掉

#cas.authn.accept.users=casuser::Mellon

增加如下内容:

#配置数据库连接
cas.authn.jdbc.query[].url=jdbc:mysql://127.0.0.1:3306/dsideal_db?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&useSSL=false
#数据库用户名
cas.authn.jdbc.query[].user=root
#数据库密码
cas.authn.jdbc.query[].password=
#mysql驱动
cas.authn.jdbc.query[].driverClass=com.mysql.jdbc.Driver #添加jdbc认证
cas.authn.jdbc.query[].sql=SELECT * FROM login WHERE login_name =?
#哪个字段作为密码字段
cas.authn.jdbc.query[].fieldPassword=login_password
#哪个字段作为过期字段 :未过期 :已过期
cas.authn.jdbc.query[].fieldExpired=expired
#哪个字段作为是否可用字段 :未禁用 :已禁用
cas.authn.jdbc.query[].fieldDisabled=disabled

注:如上配置为明文密码

增加密码MD5加密配置

修改配置文件application.properties增加如下内容:

#配置加密策略
cas.authn.jdbc.query[0].passwordEncoder.type=DEFAULT
cas.authn.jdbc.query[0].passwordEncoder.characterEncoding=UTF-8
cas.authn.jdbc.query[0].passwordEncoder.encodingAlgorithm=MD5

注:上面的配置md5加密为32位小写

增加对密码加盐处理

在上面的配置的基础上,增加如下代码,可以共存:

#数据库连接
cas.authn.jdbc.encode[].driverClass=com.mysql.cj.jdbc.Driver
cas.authn.jdbc.encode[].url=jdbc:mysql://127.0.0.1:3306/dsideal_db?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&useSSL=false
cas.authn.jdbc.encode[].user=root
cas.authn.jdbc.encode[].password=
#加密迭代次数
cas.authn.jdbc.encode[].numberOfIterations=
#该列名的值可替代上面的值,但对密码加密时必须取该值进行处理
cas.authn.jdbc.encode[].numberOfIterationsFieldName=
#动态盐值用的字段
cas.authn.jdbc.encode[].saltFieldName=login_name
#静态盐值
cas.authn.jdbc.encode[].staticSalt=
cas.authn.jdbc.encode[].sql=SELECT * FROM t_sys_loginperson WHERE login_name =?
#对处理盐值后的算法
cas.authn.jdbc.encode[].algorithmName=MD5
#哪个字段作为密码字段
cas.authn.jdbc.encode[].passwordFieldName=login_password
#哪个字段作为过期字段 :未过期 :已过期
cas.authn.jdbc.encode[].expiredFieldName=expired
#哪个字段作为是否可用字段 :未禁用 :已禁用
cas.authn.jdbc.encode[].disabledFieldName=disabled

java密码加盐代码:

public static void main(String[] args) {
//静态盐值
String staticSalt = "654321";
//加密算法
String algorithmName = "MD5";
//密码明文
String encodedPassword = "123";
//动态盐值,就是登录名
String dynaSalt = "admin_en"; ConfigurableHashService hashService = new DefaultHashService();
hashService.setPrivateSalt(ByteSource.Util.bytes(staticSalt));
hashService.setHashAlgorithmName(algorithmName);
hashService.setHashIterations(2);
HashRequest request = new HashRequest.Builder()
.setSalt(dynaSalt)
.setSource(encodedPassword)
.build();
String res = hashService.computeHash(request).toHex();
System.out.println(res);
}

所需的jar包的pom.xml

<dependency>
<groupId>org.apache.shiro</groupId>
<artifactId>shiro-core</artifactId>
<version>1.3.2</version>
</dependency>

jar包百度地址:https://pan.baidu.com/s/1oqrOOm6p1ti-EHLrkeRDsQ

项目下载:https://pan.baidu.com/s/1-DujChC3BjhtDaUq0xw6WA

CentOS安装CAS 5.3.4服务端的更多相关文章

  1. CAS (1) —— Mac下配置CAS到Tomcat(服务端)

    CAS (1) -- Mac下配置CAS到Tomcat(服务端) tomcat版本: tomcat-8.0.29 jdk版本: jdk1.8.0_65 cas版本: cas4.1.2 cas-clie ...

  2. centos 7 上zabbix 3.0 服务端安装

    zabbix服务端安装 安装完毕mysql-5.6.php5.6 mysql-5.6安装:https://www.cnblogs.com/xzlive/p/9771642.html  创建zabbix ...

  3. Centos下使用gitosis配置管理git服务端(转载)

    From:http://www.cnblogs.com/ahauzyy/archive/2013/04/08/3043384.html 说明:由于条件有限,我这里使用的是同一台centos的,但教程内 ...

  4. CAS (1) —— Mac下配置CAS到Tomcat(服务端)(转)

    tomcat版本: tomcat-8.0.29 jdk版本: jdk1.8.0_65 cas版本: cas4.1.2cas-client-3.4.1 参考来源: CAS实现单点登录(SSO)经典完整教 ...

  5. Linux中如何安装配置Mysql和SVN服务端

    目标Linux系统为centOS 一.安装登陆mysql   1.直接以root用户运行:yum install mysql 和yum install mysql-server等带安装完成. 2.安装 ...

  6. CAS单点登录之服务端部署

    一.CAS服务端搭建 1.1 CAS支持Http登录配置 CAS默认是要https的链接才能登录的,不过学习的话是可以先去掉https限制,本博客介绍的是基于Cas4.2.7的,之前改过4.0的,详情 ...

  7. CentOS 安装Asp.net Core & FTP服务

    网络设置 确认是否成功连网: ping baidu.com 如果无法上网请检查以下设置 ip link show vim /etc/sysconfig/network-scripts/ipcfg-(看 ...

  8. 在CentOS7上安装ftp服务器用于保存服务端上传的图片。

    1.CentOS卸载vsftpd的方法 如果服务器上已经安装了vsftpd服务,配置出错需要卸载vsftpd服务. 1.1 查找vsftpd服务 [root@localhost /]# rpm -aq ...

  9. [精华][推荐]CAS SSO单点登录服务端客户端学习

    1.通过下载稳定版本的方式下载cas的相关源码包,如下: 直接选择4.2.1的稳定代码即可 2.我们项目中的版本版本使用maven apereo远程库去下载 通过远程maven库下载cas-serve ...

随机推荐

  1. 设计模式C++学习笔记之四(Multition多例模式)

      多例模式,这个在GOF的模式设计里没有提到,但在实际工作中确实会用到.更详细的内容及说明可以参考原作者博客:cbf4life.cnblogs.com. 4.1.解释 main(),客户 略 说明: ...

  2. SharePoint 2016 vs部署报错:无法加载功能xxx未能加载文件或程序集xxx或它的某一个依赖项。系统找不到指定的文件

    环境描述: SharePoint 2016 单服务器场模式 开发工具:VS2017,项目类型(功能):计时器. 问题描述: 在用vs直接部署时,报错如下: 部署步骤"激活功能"中出 ...

  3. ranlib 作用

    ar 命令用于更新,维护管理静态库. ranlib 命令用于 更新库的符号索引表. 当只执行了ar命令(用于更新)时, ld连接时会仍然报错,查找不到更新的变量或函数,此时需要用ranlib来更新库的 ...

  4. 转载:UML学习(一)-----用例图 (silent)

    原文:http://www.cnblogs.com/silent2012/archive/2011/09/07/2169518.html 1.什么是用例图 用例图源于Jacobson的OOSE方法,用 ...

  5. Light OJ 1148

    题意: 给你N 个人, 每个人说出有多少人和他一队, 不包括他自己, 输出总人数最少值 思路: 排个序, 按照给的数目把人分为一组,就可以得出最少人数 #include<bits/stdc++. ...

  6. 使用Gitblit 在Windows上部署Git Server

    Windows平台下Git服务器搭建 首先要下载Java JDK,安装完成后设置环境变量,先把java环境配好,接下来才是下面的gitblit.关于java环境配置请看上一篇文章 gitblit下载 ...

  7. 修改oracle数据库允许连接的数

    当前连接数:select count(*) from v$process;查询数据库允许的最大连接数: select value from v$parameter where name = 'proc ...

  8. Hystrix系列-5-Hystrix的资源隔离策略

    转自:https://blog.csdn.net/liuchuanhong1/article/details/73718794 Hystrix的资源隔离策略有两种,分别为:线程池和信号量. 说到资源隔 ...

  9. 异步io模块

    '''客户端''' import socket,select #####进行封装,将socket对象和要返回的url,和回调函数进行一下封装 class Httprequest(): def __in ...

  10. try? try! try do catch try 使用详解

    当一个使用一个方法发现后面 throws  说明可能会抛出异常 需要try 进行处理 1  try? 如果解析成功就有值 否则返回nil  (推荐) 2  try! 如果解析成功就有值  否则直接崩溃 ...