集成Cas登录
集成 CAS 登录
为系统接入 CAS 单点登录(SSO)能力。
一、CAS Server 搭建
推荐使用官方模板构建 CAS 服务端:
- 📦 项目模板:cas-overlay-template (5.2)
- 📝 搭建教程:CSDN 教程
运行后默认访问地址:
https://localhost:8443/cas/
如需线上部署,建议配置 HTTPS 和有效证书。
二、客户端配置(Tduck 后端)
修改文件:
src/main/resources/application.yml
✅ CAS 服务端配置:
cas:
server:
host:
# CAS 服务基础地址
url: http://localhost:8443/cas/
# CAS 登录地址
login_url: ${cas.server.host.url}/login
# CAS 登出地址(登出后自动跳转到登录页)
logout_url: ${cas.server.host.url}/logout?service=${cas.server.host.url}/login?service=${app.server.host.url}
✅ 应用服务地址配置:
app:
# 是否开启 CAS 登录
enabled-cas: true
server:
host:
# 后端项目地址(确保与 CAS 中注册的地址一致)
url: http://你的域名或IP:端口/tduck-api
# 应用登录入口(默认保持不变)
login_url: /
# 前端登录成功回调地址(用于接收 CAS 登录完成后的跳转)
web_url: http://你的域名或IP:端口/loginSuc
注意:
tduck-api是固定路径,请勿修改。web_url需与前端部署地址一致,并配置/loginSuc作为登录成功回调页面。
三、登录流程简述(实现原理)
CAS 登录认证的核心流程如下:
- 用户访问系统时,跳转至 CAS 登录页;
- CAS 验证通过后,重定向至配置的
loginSuc页面; - 后端从 CAS 获取用户信息,颁发自定义 token(用于后续系统内鉴权);
- token 写入浏览器 Cookie(token 名称需前后端一致);
- 用户进入系统,完成登录。
四、参考提交记录
参考 Git 提交:
🔖 commit ID:db53122030e8e183928905437755fc7f3002f96d
该提交包含了相关接入逻辑代码。
示例界面截图
