【CAS学习一】CAS服务端部署
公司要做单点登录系统,网上搜了一下目前主流方案是CAS,故部署一个试试看。
1.下载
因为最近出现log4j2远程代码执行漏洞,尽量选择新版本已修复此漏洞的,故CAS选择6.4版本。打包部署依赖JDK 11,Gradle,Tomcat。此处选择gradle-7.3.3,Tomcat-8.5.73。
1)CAS下载
CAS下载地址:https://github.com/apereo/cas-overlay-template
左上角Master选择6.4版本,下载ZIP压缩包。

2)JDK11下载
打开oracle官网的Java下载地址:https://www.oracle.com/java/technologies/downloads/,下拉找到Java11,切换到Windows,下载安装包。

3)下载Tomcat
打开Tomcat下载网址:https://tomcat.apache.org/download-80.cgi,选择Windows 64位压缩包下载。

4)下载Gradle
下载地址:https://gradle.org/releases/,选择部署包。

2.安装环境
1)安装JDK,并配置相关环境变量,网上教程很多。参考:https://blog.csdn.net/weixin_40928253/article/details/83590136
2)解压Gradle,跟JDK放一起,并配置环境变量,参考:https://blog.csdn.net/liuyongheng1991/article/details/80771813

3)解压Tomcat,并配置环境变量,参考:https://www.cnblogs.com/neiwote/p/13281884.html
3.打包部署CAS
1.解压缩下载的CAS到指定目录。
2.搜索cmd,以管理员身份运行:

2.定位到CAS目录,执行打包命令:gradlew clean build,等待直到出现build successful 字样说明打包成功。

3.从目录:D:\workspace\GitHub\cas-overlay-template\build\libs下拷贝cas.war包到Tomcat的webapps目录:Tomcat-8.5.73\webapps。
4.修改Tomcat的编码格式,参考:https://www.cnblogs.com/tutubaobao/p/10681469.html
以记事本打开:..\Tomcat-8.5.73\conf\logging.properties,如下修改:
java.util.logging.ConsoleHandler.encoding = GBK
网上教程都是做到前3步,然后打开http://localhost:8080/cas/login就可以了,可我打开老是404错误,这个问题困扰了我1天,后面偶然发现Tomcat启动时汉字乱码,就猜测会不会是编码问题导致cas.war解压失败,所以参照网上教程改了下Tomcat编码,果然再打开就可以了。


4.总结
因为首次接触Java的项目,技术选型和项目尝试中遇到不少问题,单点登录方案选择、cas版本选择和部署等,特别是3.4中遇到cas/login的404错误折腾了1天,故做一下记录,事后方便返查也希望能帮到跟我遇到相同问题的朋友。
【CAS学习一】CAS服务端部署的更多相关文章
- CAS单点登录之服务端部署
一.CAS服务端搭建 1.1 CAS支持Http登录配置 CAS默认是要https的链接才能登录的,不过学习的话是可以先去掉https限制,本博客介绍的是基于Cas4.2.7的,之前改过4.0的,详情 ...
- 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 ...
- 内网穿透神器(ngrok)服务端部署【分享一台自己的ngrok服务器】【多平台】
Ngrok为何物 “ngrok 是一个反向代理,通过在公共的端点和本地运行的 Web 服务器之间建立一个安全的通道.ngrok 可捕获和分析所有通道上的流量,便于后期分析和重放.”这是百度百科上给Ng ...
- Rsync服务端部署流程
Rsync服务端部署流程 Rsync服务端部署流程: 一.rsync服务端配置流程 配置rsync配置文件/etc/rsyncd.conf 创建同步的本地目录/dingjian 并根据需要 ...
- Zabbix5.0服务端部署
Zabbix5.0服务端部署 基础环境配置 [root@localhost ~]# systemctl disable --now firewalld Removed symlink /etc/sys ...
- 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)经典完整教 ...
- react基础学习和react服务端渲染框架next.js踩坑
说明 React作为Facebook 内部开发 Instagram 的项目中,是一个用来构建用户界面的优秀 JS 库,于 2013 年 5 月开源.作为前端的三大框架之一,React的应用可以说是非常 ...
- (二)Netty源码学习笔记之服务端启动
尊重原创,转载注明出处,原文地址:http://www.cnblogs.com/cishengchongyan/p/6129971.html 本文将不会对netty中每个点分类讲解,而是一个服务端启 ...
- 使用Cobbler批量部署Linux和Windows:Cobbler服务端部署(一)
本文记录了我使用Cobbler批量安装部署Linux和Windows系统的过程,文章主要分为三部分:Cobbler服务端的安装配置.Linux发行版CentOS和Ubuntu的自动安装部署.Windo ...
- (转)使用Cobbler批量部署Linux和Windows:Cobbler服务端部署(一)
原文:http://www.cnblogs.com/pluse/p/8316914.html http://blog.51cto.com/dreamway/1166589---------Cobble ...
随机推荐
- longjmp 使 C++ RAII 失效
C 语言的 longjmp 没有进行栈展开,而是直接跳转.从 longjmp 到 setjmp 之间的所有析构函数都没有调用,也就是 RAII 失效. #include <setjmp.h> ...
- shell 脚本之 disk_monitor
编写脚本实现监测指定文件夹的磁盘空间. =========================================================== ## 脚本逻辑介绍 用户通过 --p ...
- 线性代数 · 矩阵 · Matlab | Cholesky 分解代码实现
(搬运外网的代码,非原创:原网址 ) (其实是专业课作业,但感觉国内博客没有合适的代码实现,所以就搬运到自己博客了) 背景 - Cholesky 分解: 若 A 为 n 阶实对称正定矩阵,则存在非奇异 ...
- @JsonIgnore 失效没起作用及 @JSONField(serialize = false)
项目中需要对接口返回的某一个字段进行屏蔽,返回给前端响应的时候,不显示某个字段. 第一时间想到在实体类屏蔽的属性字段上添加@JsonIgnore注解,但添加之后并没有起作用. 在网上搜索了下,使用 @ ...
- [转帖]《Linux性能优化实战》笔记(六)—— Linux 软中断与对应故障分析方法
中断是系统用来响应硬件设备请求的一种机制,它会打断进程的正常调度和执行,然后调用内核中的中断处理程序来响应设备的请求. 一. 为什么要有中断 举个生活中的例子,让你感受一下中断的魅力.比如说你订了一份 ...
- [转帖]nginx上传模块—nginx upload module-
https://www.cnblogs.com/lidabo/p/4171515.html 一. nginx upload module原理 官方文档: http://www.grid.net.ru/ ...
- [转帖]Jmeter性能测试:高并发分布式性能测试
一.为什么要进行分布式性能测试 当进行高并发性能测试的时候,受限于Jmeter工具本身和电脑硬件的原因,无法满足我们对大并发性能测试的要求.基于这种场景下,我们就需要采用分布式的方式来实现我们高并发的 ...
- Python学习之七_input和print
Python学习之七_input和print 摘要 python3 之后 函数必须带 () 了 因为我开始学习的比较晚, 所以准备Python3开始学起 前面主要是模仿别人的代码进行学习 后续慢慢学习 ...
- 【转帖】Seccomp、BPF与容器安全
语音阅读2022-06-30 20:26 本文详细介绍了关于seccomp的相关概念,包括seccomp的发展历史.Seccomp BPF的实现原理已经与seccomp相关的一些工具等.此外,通过实例 ...
- [转帖]并发控制- sched_yield 函数
函数说明 函数原型 #include <sched.h> int sched_yield(void); 1 2 sched_yield的作用是让出处理器,调用时会导致当前线程放弃CPU,进 ...