# cas-demo **Repository Path**: looking_for_plum_in_snow/cas-demo ## Basic Information - **Project Name**: cas-demo - **Description**: springboot集成cas的demo - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2025-04-24 - **Last Updated**: 2025-04-24 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # cas-demo #### 介绍 springboot集成cas的demo #### CAS分为Server和Client端,Cas Server需要独立部署,主要负责对用户的认证;CAS client 负责处理对客户端受保护资源的访问请求,需要登录的时候重定向到server 端 # 搭建CAS5.3 下载地址 CAS Server5.3版本,可以下载ZIP包,并解压至自己的目录下 [CAS Server5.3](https://github.com/apereo/cas-overlay-template/tree/5.3) #打包成服务端的war包 在解压目录下进入cmd,执行 mvn package (前提保证自己的环境有maven),即可在target下生成cas.war包 # tomcat启动 cas.war放到tomcat的apache-tomcat-9.0.36\webapps中,启动tomcat 启动后在即可在tomcat的webapps目录下看到解压后的cas目录 # 修改参数: 由于CAS默认使用https,为了方便springboot搭建的客户端采用http访问,需要改为兼容使用http协议 webapps\cas\WEB-INF\classes\application.properties 最后一行添加: 也可以修改端口,默认是https协议8443端口, 修改默认的登录账号和密码 **修改http 端口** ``` server.context-path=/cas server.port=8080 ``` # 修改用户名、密码 `cas.authn.accept.users=admin::admin` 启用记载JSON配置文件 打开文件 `cas\WEB-INF\classes\application.properties` 增加如下配置 ``` cas.tgc.secure=false cas.serviceRegistry.initFromJson=true ``` 在`webapps\cas\WEB-INF\classes\services\HTTPSandIMAPS-10000001.json` 支持http ``` { "@class" : "org.apereo.cas.services.RegexRegisteredService", "serviceId" : "^(https|http|imaps)://.*", "name" : "HTTPS and IMAPS", "id" : 10000001, "description" : "This service definition authorizes all application urls that support HTTPS and IMAPS protocols.", "evaluationOrder" : 10000 } ``` cas 访问地址: `http://localhost:8080/cas` # CAS客户端配置 **CAS客户端配置(就是自己项目)** pom.xml依赖 ``` net.unicon.cas cas-client-autoconfig-support 2.1.0-GA ``` application.properties配置文件 客户端1 ``` server.port=8088 #cas服务端的地址 cas.server-url-prefix=http://localhost:8080/cas #cas服务端的登录地址 cas.server-login-url=http://localhost:8080/cas/login #当前服务器的地址(客户端) cas.client-host-url=http://localhost:8088 #Ticket校验器使用Cas30ProxyReceivingTicketValidationFilter cas.validation-type=CAS3 ``` **每个客户端只要修改当前服务器地址就行了** 如客户端2 ``` **server.port=8090** #cas服务端的地址 cas.server-url-prefix=http://localhost:8080/cas #cas服务端的登录地址 cas.server-login-url=http://localhost:8080/cas/login #当前服务器的地址(客户端) **cas.client-host-url=http://localhost:8090** #Ticket校验器使用Cas30ProxyReceivingTicketValidationFilter cas.validation-type=CAS3 ``` # 配置完成 没有登陆时[http://localhost:8088](`http://localhost:8088`)和[http://localhost:8090](`http://localhost:8090`)访问都会跳到CAS登陆页 只要客户端1登陆了,登陆端2就能直接访问,反之也能访问 详细参考:https://www.jianshu.com/p/108f72c2c39a