pandaAnthony:spring boot cas 服务端

2018-08-27  本文已影响0人  pandaAnthony

项目中需要用到CAS做统一认证,在网上查询各种帖子,终于找到一篇非常好的;在参考了该贴的例子结合项目要求终于实现了spring boot下CAS的服务端搭建以及和spring security的客户端整合。github链接:https://github.com/X-rapido/CAS_SSO_Record

这个系列有3篇文章:

  1. spring boot cas 服务端和spring security客户端搭建(一):主要介绍怎么用spring boot cas搭建https的服务端
  2. spring boot cas 服务端和spring security客户端搭建(二):主要介绍怎么用怎么结合数据库用cas提供的动态加密方式登录及相关配置
  3. spring boot cas 服务端和spring security客户端搭建(三):主要介绍怎么结合spring security客户端进行整合及http方式登录配置

CAS服务端搭建

CAS的官网:https://www.apereo.org/projects/cas
CAS的github官方网站:https://github.com/apereo
CAS服务端安装的官方文档:https://apereo.github.io/cas/5.3.x/installation/Maven-Overlay-Installation.html
服务端搭建要去github官网下载对应的包:

image.png

https://github.com/apereo/cas-overlay-template 下发现最新的已经到jdk11了。。。

image.png

而且貌似只支持gradle,对于只会maven不想麻烦去学习gradle的只能换支持maven的版本了。


image.png

很幸运的是找的最近的5.3版本就支持maven,而且还是目前公司用的jdk1.8:


image.png

5.3版本,具体资料可参考https://apereo.github.io/cas/5.3.x/index.html

回到5.3的github,这样的工程结构是不是看起来很困惑,怎么连src都没有呢。简单地过下pom文件,和平常碰到的没什么太大区别,要注意的是pom里单独配置了repository:


image.png

这里需要注意的是本地的maven setting配置文件是否会有影响到需要去repository中配置的地址下载包,如果搭建了maven私服可以去通过添加代理的方式,如果是指向阿里云之类的镜像就需要看下是否配置的:

<mirroOf>*<mirroOf>

那么可以简单地在‘*’后加上!xxx(xxx表示repository的id)来避免无法下载包的情况(忽略我这里指向私服又配了!sonatype-releases,因为懒得去添加代理 了。。。):


image.png

然后运行mvn package看下打包生成什么:


image.png

实际上生成的还是war包,进入target目录查看详情:


image.png

然后进入war查看具体有些什么:


image.png

是不是发现了很熟悉的文件和文件夹,这不就是spring boot的结构吗。直接看最核心的application.properties:


image.png

是不是更加熟悉了,看到了服务的端口和地址,还有ssl的配置。既然是spring boot工程那么就可以直接创建src/main/resources文件夹了,将application.properties和ssl证书复制到resources下:


image.png

将配置文件的ssl配置修改下地址:


image.png

SSL证书生成非常重要,一定要搞对!
SSL证书生成非常重要,一定要搞对!
SSL证书生成非常重要,一定要搞对!
重要的SSL证书生成
证书生成的过程这里就不说了,参考https://github.com/X-rapido/CAS_SSO_Record/blob/master/SSL%E8%AF%81%E4%B9%A6%E7%94%9F%E6%88%90.md;切记一定要按文档的步骤做完(删除不用做,除非你有需要)。

到这里最简单的CAS服务端配置就完成了,默认用静态用户名登录,可以在application.properties中找到:


image.png

最后在工程根目录运行build run,当看到ready时,表示启动成功:


image.png

在浏览器输入 https://cas.server.com:8443/cas/login (参考ssl配置同时进行域名映射cas.server.com,这是配对的,如果ssl的域名改了访问的地址也要响应调整),可以看到登录界面:

image.png

用默认账号casuser,密码Mellon登录:


image.png

先到这里了,后续再加上数据库验证的方法及与spring security客户端整合。

上一篇下一篇

猜你喜欢

热点阅读