公司要做单点登录系统,网上搜了一下目前主流方案是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天,故做一下记录,事后方便返查也希望能帮到跟我遇到相同问题的朋友。