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

虾米哥 阅读:226 2021-03-31 18:14:28 评论: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包


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

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

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

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

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

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

server.port=8080

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

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

至此Cas 服务端搭建完毕。

 

第二步:SpringBoot 搭建Cas 客户端

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

<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"> 
  <modelVersion>4.0.0</modelVersion> 
  <parent> 
    <groupId>com.zzg</groupId> 
    <artifactId>boot-cas</artifactId> 
    <version>0.0.1-SNAPSHOT</version> 
  </parent> 
  <artifactId>boot-cas-controller</artifactId> 
   
  <dependencies> 
  	<!--依赖cas 配置jar  --> 
  	<dependency> 
            <groupId>net.unicon.cas</groupId> 
            <artifactId>cas-client-autoconfig-support</artifactId> 
            <version>1.7.0-GA</version> 
        </dependency> 
  </dependencies> 
</project>

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

# cas server settings 
cas.server-url-prefix=http://localhost:8080/cas 
cas.server-login-url=http://localhost:8080/cas/login 
cas.client-host-url=http://localhost:9100 
cas.validation-type=cas 
# springboot server settings 
server.port=9100

2.3 cas 客户端核心代码:

package com.zzg; 
 
import org.springframework.boot.SpringApplication; 
import org.springframework.boot.autoconfigure.SpringBootApplication; 
import net.unicon.cas.client.configuration.EnableCasClient; 
 
@EnableCasClient // 启用cas 客户端 
@SpringBootApplication 
public class Application { 
 
	public static void main(String[] args) { 
		// TODO Auto-generated method stub 
		SpringApplication.run(Application.class, args); 
	} 
 
} 

 

package com.zzg.controller; 
 
import org.springframework.stereotype.Controller; 
import org.springframework.web.bind.annotation.RequestMapping; 
import org.springframework.web.bind.annotation.ResponseBody; 
 
@Controller 
@RequestMapping("/cas") 
public class CasController { 
 
	@RequestMapping("/index") 
	@ResponseBody 
	public String index(){ 
		return "cas client success"; 
	} 
} 

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

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

声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

发表评论
搜索
KIKK导航

KIKK导航

关注我们