-
下载 git clone -b 5.3 https://github.com/apereo/cas-overlay-template.git
控制台执行 ./build.sh package 将target下生成的cas.war包放入到tomcat的webapps中,tomcat启动会自动解压war包为
文件夹,由于CAS默认使用的是基于https协议,需要改为兼容使用http协议,需修改cas\WEB-INF\classes目录的application.properties添加如下的内容
cas.tgc.secure=false
cas.serviceRegistry.initFromJson=true
\cas\WEB-INF\classes\services目录下的HTTPSandIMAPS-10000001.json
修改内容如下,即添加http
"serviceId" : "^(https|http|imaps)://.*",
在新建的springboot项目的pom.xml添加如下依赖
<!-- https://mvnrepository.com/artifact/net.unicon.cas/cas-client-autoconfig-support -->
<dependency>
<groupId>net.unicon.cas</groupId>
<artifactId>cas-client-autoconfig-support</artifactId>
<version>1.7.0-GA</version>
</dependency>
配置
cas:
server-url-prefix: http://localhost:8080/cas
server-login-url: http://localhost:8080/cas/login
client-host-url: http://localhost:9100
validation-type: cas
server:
port: 9100
在@SpringBootApplication上添加 启动CAS @EnableCasClient
写一个rest接口测试
@RestController
public class TestController {
@GetMapping("/test")
public String get(){
return "test success";
}
}
相同的方式另外再建立一个springboot应用,修改配置
cas:
server-url-prefix: http://localhost:8080/cas
server-login-url: http://localhost:8080/cas/login
client-host-url: http://localhost:9200
validation-type: cas
server:
port: 9200
访问:http://localhost:9100 http://localhost:9200页面都会跳转到cas的登录页,在一个窗口输入配置的用户名和密码之后admin admin 在另外一个窗口刷新,即可看到也已经登录了,看到了页面内容
一些问题:
- 解决Tomcat8启动时控制台中文乱码问题
/conf/logging.properties 添加java.util.logging.ConsoleHandler.encoding = GBK
- 工具版本:
apache-tomcat-8.5.40
java version "1.8.0_152"
- cas 默认的用户名::密码 casuser::Mellon 添加用户 cas.authn.accept.users=admin::admin
在cas\WEB-INF\classes目录的application.properties
- 修改cas\WEB-INF\classes\log4j2.xml中日志文件目录,从cas.war解压出来的war包中,可以看出一些配置文件的路径是liunx路径,如果在windows平台部署,需要修改相应的路径
- Bad Request This combination of host and port requires TLS.解决方法?
如果是配置兼容了http就不会出现这个
参考:
https://blog.csdn.net/qq_35738369/article/details/86581029
https://github.com/apereo/cas-overlay-template/tree/5.3
https://blog.csdn.net/u010248330/article/details/70338800
CAS5.3修改为支持非http的,因为它默认是https的
https://blog.csdn.net/lhc0512/article/details/82466246
keytool分别为客户端 服务端生成证书,让双方互信
https://blog.csdn.net/guanking19/article/details/90142927
Spring Boot 配置 HTTPS 访问
https://blog.csdn.net/u013360850/article/details/85493764