美文网首页
pandaAnthony:spring boot cas 服务端

pandaAnthony:spring boot cas 服务端

作者: pandaAnthony | 来源:发表于2018-08-27 23:48 被阅读0次

    项目中需要用到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客户端整合。

    相关文章

      网友评论

          本文标题:pandaAnthony:spring boot cas 服务端

          本文链接:https://www.haomeiwen.com/subject/kwrxwftx.html