CAS单点登录集成

1.概述

1.1 支持版本
复杂报表版本
since 9.1
1.1 功能介绍

CAS(Central Authentication Service,中央认证服务)是一种基于票据的单点登录(SSO)协议, 可实现多系统间的统一身份认证;VeryReport提供强大的 Java 安全框架,提供认证、授权、会话管理等功能。 将VeryReport与CAS 集成后,可实现 “一次登录,多系统访问”的单点登录效果,同时利用 VeryReport 的权限管理能力控制资源访问。

集成目标:

  • 单点登录(SSO):用户通过 CAS 服务器登录后,无需重复登录即可访问VeryReport。

  • 认证流程联动:VeryReport接收 CAS 服务器的认证票据(Ticket),验证通过后创建用户会话。

  • 权限控制:基于VeryReport实现用户权限加载,结合CAS认证结果进行资源访问控制。

  • 单点登出:用户退出时,同步销毁认证票据(Ticket)。

2.集成步骤

2.1 在CAS服务上添加VeryReport应用

以apereo为例,在app中添加如下json配置:

{
  "@class": "org.apereo.cas.services.CasRegisteredService",
  "serviceId": "http://(127\\.0\\.0\\.1|localhost):8088",
  "name": "Local_App",
  "id": 1001,
  "description": "VeryReport数据分析平台",
  "evaluationOrder": 1
}
2.1 在CAS服务上添加VeryReport应用

在安装目录下config/application.yml添加如下配置:

cas:
  enabled: true
  server-url: http://localhost:8443/cas
  server-login-url: http://localhost:8443/cas/login
  server-logout-url: http://localhost:8443/cas/logout
  client-url: http://127.0.0.1:8088

参数说明:

key 类型 说明
enabled 布尔类型 true:开启CAS登录
false:关闭CAS登录
server-url 字符串 CAS服务地址
server-login-url 字符串 CAS服务登录地址
server-logout-url 字符串 CAS服务登出地址
client-url 字符串 VeryReport服务地址

配置完毕后,重启VeryReport服务即可。

扫码添加企业微信 免费获取1V1专属服务 企业微信专属客服