SpringBoot 搭建CAS 客户端 和CAS 服务端

╰+攻爆jí腚メ 2023-10-18 18:09 225阅读 0赞

第一步:搭建CAS5.3 服务端

Github 下载CAS5.3 服务端版本:https://github.com/apereo/cas-overlay-template/tree/5.3

注意:最新的master分支使用的需要java11,该分支使用Gradle工程 由于我使用的是java8,采用CAS5.3版本。
CAS4.x的server是基于Spring的,模版引擎使用的是JSP。
CAS5.X之后使用的是基于SpringBoot的,模版引擎使用Thymeleaf。

1、解压下载的cas5.3.zip文件包,切换至cas5.3解压文件目录,执行maven 打包命令:mvn package

2、执行完打包命令,会在cas5.3解压文件夹下生成一个target文件夹,包含cas.war包

20190506094739466.png
3、Tomcat8 部署cas.war 和修改相关配置:

3.1:由于CAS默认使用的是基于https协议,需要改为兼容使用http协议
到C:\tomcat\apache-tomcat-8.0.47\webapps\cas\WEB-INF\classes目录的application,properties添加如下的内容

  1. cas.tgc.secure=false
  2. cas.serviceRegistry.initFromJson=true

3.2:至C:\tomcat\apache-tomcat-8.0.47\webapps\cas\WEB-INF\classes\services目录下的HTTPSandIMAPS-10000001.json
修改内容如下,即添加http

  1. "serviceId" : "^(https|http|imaps)://.*",

3.3:由于https协议默认使用的端口为8443,我们修改为tomcat的8080端口
到C:\tomcat\apache-tomcat-8.0.47\webapps\cas\WEB-INF\classes目录的application,properties添加如下的内容

  1. server.port=8080

3.4:由于使用的静态密码为casuser::Mellon不好记忆, 修改密码
至C:\tomcat\apache-tomcat-8.0.47\webapps\cas\WEB-INF\classes目录的application,properties的最后面修改密码为如下

  1. cas.authn.accept.users=admin::admin

至此Cas 服务端搭建完毕。

第二步:SpringBoot 搭建Cas 客户端

2.1 springboot 添加cas 客户端依赖jar 包:

  1. <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  2. <modelVersion>4.0.0</modelVersion>
  3. <parent>
  4. <groupId>com.zzg</groupId>
  5. <artifactId>boot-cas</artifactId>
  6. <version>0.0.1-SNAPSHOT</version>
  7. </parent>
  8. <artifactId>boot-cas-controller</artifactId>
  9. <dependencies>
  10. <!--依赖cas 配置jar -->
  11. <dependency>
  12. <groupId>net.unicon.cas</groupId>
  13. <artifactId>cas-client-autoconfig-support</artifactId>
  14. <version>1.7.0-GA</version>
  15. </dependency>
  16. </dependencies>
  17. </project>

2.2 application.properties文件配置:CAS 服务端地址、CAS登入地址、CAS客户端地址

  1. # cas server settings
  2. cas.server-url-prefix=http://localhost:8080/cas
  3. cas.server-login-url=http://localhost:8080/cas/login
  4. cas.client-host-url=http://localhost:9100
  5. cas.validation-type=cas
  6. # springboot server settings
  7. server.port=9100

2.3 cas 客户端核心代码:

  1. package com.zzg;
  2. import org.springframework.boot.SpringApplication;
  3. import org.springframework.boot.autoconfigure.SpringBootApplication;
  4. import net.unicon.cas.client.configuration.EnableCasClient;
  5. @EnableCasClient // 启用cas 客户端
  6. @SpringBootApplication
  7. public class Application {
  8. public static void main(String[] args) {
  9. // TODO Auto-generated method stub
  10. SpringApplication.run(Application.class, args);
  11. }
  12. }
  13. package com.zzg.controller;
  14. import org.springframework.stereotype.Controller;
  15. import org.springframework.web.bind.annotation.RequestMapping;
  16. import org.springframework.web.bind.annotation.ResponseBody;
  17. @Controller
  18. @RequestMapping("/cas")
  19. public class CasController {
  20. @RequestMapping("/index")
  21. @ResponseBody
  22. public String index(){
  23. return "cas client success";
  24. }
  25. }

cas客户端整体项目结构图:

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3pob3V6aGl3ZW5nYW5n_size_16_color_FFFFFF_t_70

第三步:访问http://localhost:9100/cas/index,跳转至CAS 服务端登入界面,输入正确用户名和密码,返回相关数据结果:

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3pob3V6aGl3ZW5nYW5n_size_16_color_FFFFFF_t_70 1

发表评论

表情:
评论列表 (有 0 条评论,225人围观)

还没有评论,来说两句吧...

相关阅读

    相关 cas客户

    今天大哥,就给了一个cas认证的包,和 一个cas证书 > 和一个 大片 web。xml 配置的 文档, > 让我部署到服务器上面 添加 cas 认证的包 ...

    相关 CAS 服务部署

    1.1 单点登录简介 1.1.1 概述   单点登录(Single Sign On),简称为 SSO,是比较流行的企业业务整合的解决方案之一。SSO 的定义是在多个