一直想把公司运营的项目的各个子项的认证及受权统一到Cas上,从有想法到如今快一年的时间了。如今才正式着手,有兴趣的朋友一块儿交流学习一下。具体项目的细节不便透露,整合的大致思路为:一、开发部署Cas服务器端功能,二、开发Cas客户端基本功能框架、三、将Cas客户端框架打jar提供子项目使用,四、Docker正式环境部署Cas服务器,该系列博客中仅涉及一、2部份内容。git
新手上路github
1、Github上下载Cas服务器项目服务器
下载地址:https://github.com/apereo/cas-overlay-template,经过Branch下拉到5.3下载,本人使用5.3 进行开发部署。解压后用IDEA打开,以下图目录结构:app
说明:本地须要安装配置Maven,须要等待相关资源库的下载 框架
若是出现类型上图飘红的状况,直接删除。工具
2、编译并运行学习
经过Maven进行打包(也可在命令行进行打包操做),能够看到多出target目录,打包出的资源都在此处。测试
在IDEA的Terminal窗口中执行build run(cmd命令行相同),通过漫长的等待会看到以下信息:ui
并在后面跟着一串异常信息,而后运行进程终结........spa
经过观察异常信息能够看出,Cas使用SSL启动并监听8443端口,可是却找不到《thekeystore》文件。thekeystore是SSL密钥文件,所以要为Cas服务器创建一个属于本身的密钥文件。如何创建证书网上有不少教程,但本人使用 KeyStore Explorer 可视化工具进行密钥建立,要下载该工具可访问:https://download.csdn.net/download/popo_popo/10750816。
3、建立密钥,再次编译并运行
而后点 “OK”
保持原域名不变
密码:changeit
通过以上操做,已经创建了一个密钥。密钥要存储在什么地方,才能被Cas服务器引用到?
在IDEA的项目目录中建立src/main/resources目录,并把resources做为资源目录,以下图:
以后把上面建立的SSL证书保持到resources目录并命名为thekeystore
以后从target>cas>WEB-INF>classes下复制application.properties到src>main>resources目录下
并修改复制过来的配置文件中的server.ssl.key-store项值为classpath:thekeystore
以上操做完成后,再次执行build run,当你看到READY的时候,天空靓了,心情爽了😂
4、测试(https不是http)
默认帐号casuser,密码Mellon