Cas 服务器 下载、编译及部署

时间:2021-07-15 05:19:18

一直想把公司运营的项目的各个子项的认证及授权统一到Cas上,从有想法到现在快一年的时间了。现在才正式着手,有兴趣的朋友一起交流学习一下。具体项目的细节不便透露,整合的大体思路为:1、开发部署Cas服务器端功能,2、开发Cas客户端基本功能框架、3、将Cas客户端框架打jar提供子项目使用,4、Docker正式环境部署Cas服务器,该系列博客中仅涉及1、2部分内容。

新手上路

一、Github上下载Cas服务器项目

下载地址:https://github.com/apereo/cas-overlay-template,通过Branch下拉到5.3下载,本人使用5.3 进行开发部署。解压后用IDEA打开,如下图目录结构:

Cas 服务器 下载、编译及部署

说明:本地需要安装配置Maven,需要等待相关资源库的下载

Cas 服务器 下载、编译及部署

如果出现类型上图飘红的情况,直接删除。

二、编译并运行

通过Maven进行打包(也可在命令行进行打包操作),可以看到多出target目录,打包出的资源都在此处。

Cas 服务器 下载、编译及部署

在IDEA的Terminal窗口中执行build run(cmd命令行相同),经过漫长的等待会看到如下信息:

Cas 服务器 下载、编译及部署

Cas 服务器 下载、编译及部署

并在后面跟着一串异常信息,然后运行进程终结........

Cas 服务器 下载、编译及部署

通过观察异常信息可以看出,Cas使用SSL启动并监听8443端口,但是却找不到《thekeystore》文件。thekeystore是SSL密钥文件,因此要为Cas服务器建立一个属于自己的密钥文件。如何建立证书网上有很多教程,但本人使用 KeyStore Explorer 可视化工具进行密钥创建,要下载该工具可访问:https://download.csdn.net/download/popo_popo/10750816。

三、创建密钥,再次编译并运行

Cas 服务器 下载、编译及部署

Cas 服务器 下载、编译及部署

Cas 服务器 下载、编译及部署

Cas 服务器 下载、编译及部署

然后点 “OK”

Cas 服务器 下载、编译及部署

保持原域名不变

Cas 服务器 下载、编译及部署

密码:changeit

Cas 服务器 下载、编译及部署

经过以上操作,已经建立了一个密钥。密钥要存储在什么地方,才能被Cas服务器引用到?

在IDEA的项目目录中创建src/main/resources目录,并把resources作为资源目录,如下图:

Cas 服务器 下载、编译及部署

之后把上面创建的SSL证书保持到resources目录并命名为thekeystore

Cas 服务器 下载、编译及部署

之后从target>cas>WEB-INF>classes下复制application.properties到src>main>resources目录下

并修改复制过来的配置文件中的server.ssl.key-store项值为classpath:thekeystore

Cas 服务器 下载、编译及部署

以上操作完成后,再次执行build run,当你看到READY的时候,天空靓了,心情爽了