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内容如下:

  1. <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  2. xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  3. <modelVersion>4.0.0</modelVersion>
  4.  
  5. <groupId>fxma</groupId>
  6. <artifactId>Word2Html</artifactId>
  7. <version>0.0.1-SNAPSHOT</version>
  8. <packaging>jar</packaging>
  9.  
  10. <name>Word2Html</name>
  11. <url>http://maven.apache.org</url>
  12.  
  13. <dependencies>
  14. <dependency>
  15. <groupId>org.apereo.cas</groupId>
  16. <artifactId>cas-server-support-jdbc-drivers</artifactId>
  17. <version>${cas.version}</version>
  18. </dependency>
  19. <dependency>
  20. <groupId>org.apereo.cas</groupId>
  21. <artifactId>cas-server-support-jdbc</artifactId>
  22. <version>${cas.version}</version>
  23. </dependency>
  24.  
  25. <dependency>
  26. <groupId>mysql</groupId>
  27. <artifactId>mysql-connector-java</artifactId>
  28. <version>8.0.12</version>
  29. </dependency>
  30.  
  31. </dependencies>
  32.  
  33. <properties>
  34. <cas.version>5.3.4</cas.version>
  35. <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  36. <mysql.driver.version>8.0.12</mysql.driver.version>
  37. </properties>
  38. </project>

mvn -f pom.xml dependency:copy-dependencies

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

设置cas的配置文件application.properties

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

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

增加如下内容:

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

注:如上配置为明文密码

增加密码MD5加密配置

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

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

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

增加对密码加盐处理

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

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

java密码加盐代码:

  1. public static void main(String[] args) {
  2. //静态盐值
  3. String staticSalt = "654321";
  4. //加密算法
  5. String algorithmName = "MD5";
  6. //密码明文
  7. String encodedPassword = "123";
  8. //动态盐值,就是登录名
  9. String dynaSalt = "admin_en";
  10.  
  11. ConfigurableHashService hashService = new DefaultHashService();
  12. hashService.setPrivateSalt(ByteSource.Util.bytes(staticSalt));
  13. hashService.setHashAlgorithmName(algorithmName);
  14. hashService.setHashIterations(2);
  15. HashRequest request = new HashRequest.Builder()
  16. .setSalt(dynaSalt)
  17. .setSource(encodedPassword)
  18. .build();
  19. String res = hashService.computeHash(request).toHex();
  20. System.out.println(res);
  21. }

所需的jar包的pom.xml

  1. <dependency>
  2. <groupId>org.apache.shiro</groupId>
  3. <artifactId>shiro-core</artifactId>
  4. <version>1.3.2</version>
  5. </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. requests库入门09-OAUTH认证

    实际登陆中,认证用到的token会变的,不过可以在GIthub设置一个私人token. 如图,登录GIthub,然后用户下面选择Settings/Developer settings/Personal ...

  2. Linux中OCI开发库的配置

    Oracle调用接口(Oracle Call Interface,简称OCI)提供了一组可对Oracle数据库进行存取的接口子例程(函数),通过在第三代程序设计语言(如C语言)中进行调用可达到存取Or ...

  3. Media Query-响应式布局

    做响应式网站的时候,一定要在页面头部加入如下的声明: <meta name="viewport" content="width=device-width, init ...

  4. zabbix常用的python类api

    zabbix自带api #!/usr/bin/python #coding:utf-8 import requests import json url = "http://192.168.9 ...

  5. 【原创】Linux基础之命令行浏览器links

    有时服务器环境受限,比如在内网环境不能暴露端口从外网访问,用curl看html代码比较累,这时可以使用命令行浏览器来查看相关页面 links 官方:http://links.twibright.com ...

  6. python读写csv文件

    文章链接:https://www.cnblogs.com/cloud-ken/p/8432999.html Python读写csv文件 觉得有用的话,欢迎一起讨论相互学习~Follow Me 前言 逗 ...

  7. 调整linux进程优先级

    使用环境 当服务器资源比较紧张的时候,可以通过调整优先级来优先处理某个进程的请求 查看进行优先级(top) 优先级由 -20~19这个范围来表示优先级大小,数值越小,优先级越高, 设置方法: 使用re ...

  8. Confluence 6 配置数字格式

    在 Confluence 中使用了 2 种数字格式: 整形数字格式.例如: ############### 小数数字格式.例如:###############.########## Confluenc ...

  9. Confluence 6 CSS 编辑技巧

    开始编辑空间样式表 一个空间的样式表是你开始对 CSS 进行自定义编辑的好的开始.在空间样式表中,包含了你所有可以进行修改的元素.当你对空间样式表进行编辑的时候,空间样式表的修改只会对你修改的空间有效 ...

  10. 前端html

    前端html html   是一种描述网页的语言,是超文本标记语言 :hyper Text Markup Lauguage 是一种标记语言[标记语言是一套标记标签 markup tag]使用标记标签来 ...