| 复杂报表版本 |
|---|
| since 9.1 |
CAS(Central Authentication Service,中央认证服务)是一种基于票据的单点登录(SSO)协议, 可实现多系统间的统一身份认证;VeryReport提供强大的 Java 安全框架,提供认证、授权、会话管理等功能。 将VeryReport与CAS 集成后,可实现 “一次登录,多系统访问”的单点登录效果,同时利用 VeryReport 的权限管理能力控制资源访问。
集成目标:
单点登录(SSO):用户通过 CAS 服务器登录后,无需重复登录即可访问VeryReport。
认证流程联动:VeryReport接收 CAS 服务器的认证票据(Ticket),验证通过后创建用户会话。
权限控制:基于VeryReport实现用户权限加载,结合CAS认证结果进行资源访问控制。
单点登出:用户退出时,同步销毁认证票据(Ticket)。
以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
}
在安装目录下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服务即可。