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

第一步:搭建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包

SpringBoot 搭建CAS 客户端 和CAS 服务端_第1张图片
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 包:


  4.0.0
  
    com.zzg
    boot-cas
    0.0.1-SNAPSHOT
  
  boot-cas-controller
  
  
  	
  	
            net.unicon.cas
            cas-client-autoconfig-support
            1.7.0-GA
        
  

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客户端整体项目结构图:

SpringBoot 搭建CAS 客户端 和CAS 服务端_第2张图片

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

SpringBoot 搭建CAS 客户端 和CAS 服务端_第3张图片

你可能感兴趣的:(cas)