Jumpserver对接-CAS协议

原理和协议

从结构上看,CAS 包含两个部分: CAS Server CAS Client 。 CAS Server 需要独立部署,主要负责对用户的认证工作; CAS Client 负责处理对客户端受保护资源的访问请求,需要登录时,重定向到 CAS Server。

下图是标准 CAS 基本的请求过程:

CAS Client 与受保护的客户端应用部署在一起,以 Filter 方式保护受保护的资源。对于访问受保护资源的每个 Web 请求, CAS Client 会分析该请求的 Http 请求中是否包含 Service Ticket。如果没有,则说明当前用户尚未登录,于是将请求重定向到指定好的 CAS Server 登录地址,并传递 Service (也就是要访问的目的资源地址),以便登录成功过后转回该地址。

用户在上图流程中的第 3 步输入认证信息,如果登录成功,CAS Server 随机产生一个相当长度、唯一、不可伪造的 Service Ticket,并缓存以待将来验证。之后系统自动重定向到 Service 所在地址,并为客户端浏览器设置一个 Ticket Granted Cookie(TGC),CAS Client 在拿到 Service 和新产生的 Ticket 过后,在第 5,6 步中与 CAS Server 进行身份核实,以确保 Service Ticket 的合法性。

在 IDaaS 中, CAS (标准)应用模板实现了标准的 CAS 流程。它充当一个 CAS Server的角色。当 CAS Cient 决定使用IDaaS作为 CAS Server 时。在登录认证时需要使用 IDaaS 系统中公司的主账号,密码进行认证。

操作步骤

说明 CAS 标准应用目前只能由 IT 管理员 在应用添加菜单中添加,下面是 IT 管理员的应用添加流程配置说明。

  1. 以IT管理员身份登录 IDaaS ,点击添加应用。找到 CAS (标准),点击 添加应用

  2. 配置CAS 应用CAS Client 也就是业务系统需要提供的两个参数:

ServiceNames:CAS客户端发起认证的URL地址,一般使用固定格式:jumpserver登录地址+/core/auth/cas/login/?next=%2F

TargetUrl:IDaaS发起单点登录地址 一般格式为:jumpserver登录地址+/core/auth/cas/login/

账户关联方式:根据实际情况选择,请查看主子账户介绍。

1

  1. 点开应用详情,复制 CAS Server URL Prefix参数以便接下来修改 JumpServer 配置文件时使用。

111
  1. 修改jumpserver配置文件

##是否启用CAS认证
AUTH_CAS=True
##CAS客户端认证地址 对应之前复制的CAS Server URL Prefix参数
CAS_SERVER_URL=https://xxxxxx.login.aliyunidaas.com/enduser/api/application/plugin_cas_apereo/xxxxxxxxxxxxxxplugin_cas_apereo/
##Jumpserver登录地址
CAS_ROOT_PROXIED_AS=https://jumpserver.com
##要使用的CAS协议版本
CAS_VERSION=3

5.主子账户绑定,详情可参考主子账户介绍。

完成以上步骤,就可以使用CAS协议单点登录到Jumpserver.