windows搭建CAS服务端
windows搭建CAS服务端
CAS(Central Authentication Service)是 Yale大学发起的一个企业级的、开源的项目,旨在为 Web 应用系统提供一种可靠的单点登录解决方法
CAS 源码:https://github.com/apereo/cas-overlay-template
CAS 官方文档:https://apereo.github.io/cas
下载项目
访问源码网址,将项目克隆到本地,然后根据需要切换到对应版本的分支(笔者选择的是5.3版本),之后就可以通过 idea 打开该项目了
CAS4.x 是基于 Spring 的,模版引擎使用的是 JSP;CAS5.x 是基于 SpringBoot 的,模版引擎使用 Thymeleaf
配置远程仓库
项目中配置的远程仓库是国外的,下载依赖会比较慢,修改 pom 文件,将默认的 repositories 配置注释掉,添加阿里的远程仓库配置:
<repositories>
<repository>
<id>maven-ali</id>
<url>http://maven.aliyun.com/nexus/content/groups/public//</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
<updatePolicy>always</updatePolicy>
<checksumPolicy>fail</checksumPolicy>
</snapshots>
</repository>
</repositories>
配置 jdk 版本
配置 idea jdk 版本
配置项目 jdk 版本:File->Project Structure
通过maven打包项目运行
idea 打开项目之后在右下角会弹出以下提示
点击Load Maven Project
,将该项目加载为 maven 工程,加载完成后会生成 overlays 文件夹
如果没有弹出提示,则可以通过点击 pom.xml 文件然后鼠标右击,选择 Add as a maven project 即可
在项目中建立新建目录:src/main/java 和 src/main/resources 并设置好文件夹属性(java 设置为源代码文件夹,resources 设置为资源文件夹)
将以下文件复制到 resources 文件夹下
设置 application.properties 中加载资源文件
# 加载 json 资源
cas.serviceRegistry.json.location=classpath:/services
# 是否开启 json 识别功能,默认为 false
cas.serviceRegistry.initFromJson=true
# 注释静态验证的配置
cas.tgc.secure=false
默认登录账号和密码配置在 application.properties 中:
cas.authn.accept.users=casuser::Mellon
CAS 默认使用的是 HTTPS 协议,如果使用 HTTPS 协议需要 SSL 安全证书(需向特定的机构申请和购买),如果对安全要求不高或是在开发测试阶段,可使用 HTTP 协议,通过修改配置,让 CAS 使用 HTTP 协议,将 resources 目录下的 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
}
使用 maven,clear 清除缓存文件,package 重新打包,使用 tomcat 运行此项目
项目启动成功之后,登录页面会自动打开浏览器,输入 application.properties 中配置的默认登录账号和密码即可登录
参考文档:
https://blog.csdn.net/bigdata_dog/article/details/123896404
https://blog.csdn.net/qq_36942720/article/details/125082434