第一步:搭建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 服务端登入界面,输入正确用户名和密码,返回相关数据结果: