使用cas搭建单点登录服务器
环境要求
- JDK 8+
- CAS 5.2
- tomcat 8+
选用5.x的cas版本是应为要是jdk1.8的版本。
cas版本 | jdk版本 |
---|---|
5.x | 8 |
6.x | 11 |
7.x | 17 |
模板下载
目前cas的官方文档中,cas官方模板分成了5个大类。cas-sso-server 模板下载地址。
在cas的官方模板库中,分为5个类别:
- cas-overlay Default; generates a CAS WAR overlay.
- cas-bootadmin-server-overlay Generates a WAR Overlay for the Spring Boot Admin Server.
- cas-config-server-overlay Generates a WAR Overlay for the Spring Cloud Configuration Server.
- cas-discovery-server-overlay Generates a WAR Overlay for the Service Discovery Server.
- cas-management-overlay Generates a WAR Overlay for the CAS Management Web Application.
步骤
一、修改hosts文件
在系统的hosts文件中添加如下内容,在这里我比较推荐使用SwitchHosts软件来管理hosts文件。
#cas test
#cas server
127.0.0.1 cas.server.com
#cas service1
127.0.0.1 app1.cas.com
#cas service2
127.0.0.1 app2.cas.com
拉取代码
在github中的模板下载地址,拉取代码cas-sso-server。
修改配置
- 新建目录
在项目中,新建一个src\main\resources
目录,
将target\cas\WEB-INF\classes
中的,application.properties
与service文件夹
复制到新建的resources
目录中
- 修改配置
将application.properties
中的这三行注释掉
#server.ssl.key-store=file:/etc/cas/thekeystore
#server.ssl.key-store-password=changeit
#server.ssl.key-password=changeit
添加配置,在application.properties
中的添加如下配置
cas.tgc.secure=false
cas.serviceRegistry.initFromJson=true
- 修
·services\HTTPSandIMAPS-10000001.json
在serviceId
中添加http
协议
{
"@class" : "org.apereo.cas.services.RegexRegisteredService",
"serviceId" : "^(https|http)://.*",
"name" : "HTTPS and IMAPS",
"id" : 10000001,
"description" : "This service definition authorizes all application urls that support HTTPS and IMAPS protocols.",
"evaluationOrder" : 10000
}
四、测试
所有执行命令需要在所在的工程下执行
启动命令:
build.cmd run
浏览器中输入http://localhost:8443/cas/login
,输入配置文件中的账号与密码进行验证。