# jeecgboot-cas-server **Repository Path**: jeely/jeecgboot-cas-server ## Basic Information - **Project Name**: jeecgboot-cas-server - **Description**: JeecgBoot CAS单点登录服务端代码 - **Primary Language**: Unknown - **License**: GPL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 3 - **Created**: 2026-01-20 - **Last Updated**: 2026-01-20 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # CAS单点登录 ## 单点登录流程图 ![img](https://upload.jeecg.com/jeecg/help/jeecgback/topwrite/assets/image_1681400445936.png) ## 单点登录配置说明(vue3) > Jeecg Boot前端3.0.0以后只默认集成SSO所有要的代码,只需需修改环境配置文件即可开启SSO [点击查看视频教程](https://www.bilibili.com/video/BV1YYBqY8EW3/) ### 1. Jeecgboot 前端vue项目对接CAS - 打开.env文件 修改`“单点服务端地址”`和`“是否开启单点登录”` ```javascript #单点服务端地址 VITE_GLOBE_APP_CAS_BASE_URL=http://cas.test.com:8443/cas # 是否开启单点登录 默认为false 改为true即可开启单点登录 VITE_GLOB_APP_OPEN_SSO = false ``` VITE_GLOB_APP_OPEN_SSO = true 即代表开启SSO登录 ### 2.Jeecgboot 后端boot修改yml配置 - 后端boot修改yml配置 ```javascript cas: # 配置CAS服务地址,cas为工程目录,部署到ROOT目录下http://cas.test.com:8443即可 prefixUrl: http://cas.test.com:8443/cas ``` ### 3. 单点服务端配置说明 [源码下载](https://help.jeecg.com/java/cas/cas_project) 1.cas-db: 是一个springboot项目,只要修改数据库配置,诸如`server.port`、`context-path`如无必要可不修改 2.overlay:可以打包成war通过tomcat发布,端口和地址修改tomcat配置即可(和`8443/cas`保持一致),需要注意的是如果1中cas-db项目的端口、访问地址修改了,需要修改overlay配置`src\main\resources\application.properties`如下图 ![img](https://help.jeecg.com/assets/images/screenshot_1608887733549-f4a95bc83d12cd3e6358abc81dbc9a1d.png) *如在本地测试 上述地址 `cas.test.com`可修改host文件* ## CAS服务端项目说明文档 ### 1. 当前版本 V1.0.0 ### 2. 源码下载 > JeecgBoot CAS服务端项目源码 https://github.com/jeecgboot/jeecgboot-cas-server **Jeecgboot-cas 单点登录服务端快速部署请参考本篇文档。** ### 3. 版本说明 - jdk 1.8 - mysql 5.7 - cas 5.2.3 - maven 3.5.3 - tomcat 8.5(官方推荐Tomcat至少要8版本以上) ### 4. 版本通道 - Github: https://github.com/apereo/cas - 下载链接:https://github.com/apereo/cas/tags - 开发文档:https://apereo.github.io/cas/5.2.x/index.html - 官网:https://www.apereo.org/projects/cas ### 5. 脚本说明 jeecgboot-cas-db可单独部署数据库,用户见表数据库如下;也可与jeecg-boot项目共用数据库,其用户表sys_user表结构一致 ```javascript jeecgboot_cas.sql cas用户表 ``` ### 6. 数据库配置说明 /jeecgboot-cas-db/src/main/resources/application.yml配置用户数据库地址 ```javascript datasource: driver-class-name: com.mysql.jdbc.Driver type: com.alibaba.druid.pool.DruidDataSource url: jdbc:mysql://127.0.0.1:3306/jeecg-boot?characterEncoding=UTF-8&useUnicode=true&useSSL=false username: root password: root ``` ### 7. CAS模块说明 ```javascript jeecgboot-cas-server ├── jeecgboot-cas-db -- jeecgboot cas REST认证中心[8448] (http://localhost:8448/cas-db/) ├── jeecgboot-cas-server-overlay -- jeecgboot cas 单点登录服务中心[8443] (https://cas.test.com/cas/ 本地部署域名需要配置hosts) ``` ### 8. 证书配置 拷贝证书到/jeecgboot-cas-server-overlay/src/main/resources/目录下,Tomcat使用******.jks证书, 例如注册证书:域名cas.test.com注册证书cas.test.com.jks /jeecgboot-cas-server-overlay/src/main/resources/application.properties配置证书 ```javascript server.ssl.key-store=classpath:cas.test.com.jks server.ssl.key-store-password=changeit server.ssl.key-password=changeit ``` ### 9. 不使用证书,使用HTTP协议访问配置 /jeecgboot-cas-server-overlay/src/main/resources/application.properties 进行如下配置 ```javascript server.ssl.enabled=false cas.tgc.secure=false cas.serviceRegistry.initFromJson=true ``` /jeecgboot-cas-server-overlay/src/main/resources/services/HTTPSandIMAPS-10000001.json serviceId 增加 http协议的配置 ```javascript { "@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 } ``` ### 10. REST认证服务配置 /jeecgboot-cas-server-overlay/src/main/resources/application.properties中配置RESR认证请求地址 即jeecgboot-cas-db项目中的请求 ```javascript ## # REST 认证开始, 请求远程调用接口(NONE不进行加密) # cas.authn.rest.uri=http://localhost:8448/cas-db/cas/user/login cas.authn.rest.passwordEncoder.type=NONE cas.authn.rest.passwordEncoder.characterEncoding=UTF-8 cas.authn.rest.passwordEncoder.encodingAlgorithm=MD5 ``` ### 11. 启动顺序 ```javascript 1. /jeecgboot-cas-db/src/main/java/org/jeecg/JeecgBootCasDbApplication.java 2. jeecgboot-cas-server-overlay (1)项目打包后执行 java -jar cas.war启动; (2)也可cas.war解压部署到tomcat中,官方推荐Tomcat至少要8版本以上 (3)本地运行,DOS进入项目目录,执行build.cmd run ``` 启动地址: 统一认证中心:https://cas.test.com:8443/cas/login 使用http协议:http://cas.test.com:8443/cas/login **本地部署域名需要配置hosts** ```javascript 127.0.0.1 cas.test.com ``` ## CAS单点登录服务端准备 > 搭建CAS服务端,如果已经部署服务端,此步骤可以省略!! ### 1. 单点登录的介绍 单点登录(Single Sign On ,简称SSO)是目前比较流行的服务于企业业务整合的解决方案之一,SSO 使得在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。 CAS(Central Authentication Service)是 Yale大学发起的一个企业级的、开源的项目,旨在为 Web 应用系统提供一种可靠的单点登录解决方法 ### 2. CAS服务端搭建 > 此处不做详细搭建部署介绍,可以网络查询资料部署, 官网地址https://github.com/apereo/cas-overlay-template 当前我对接的CAS版本是5.2X,也可以使用 5.3X ### 注意!注意!注意! 重要的事情说三遍! **CAS服务端必须要开启rest支持** 添加如下依赖即可: ```javascript org.apereo.cas cas-server-support-rest ${cas.version} ```