CAS(中央认证服务)

生活百科 2023-01-25 21:22生活百科www.aizhengw.cn

CAS(中央认证服务)

CAS是Central Authentication Service的缩写,中央认证服务,一种独立开放指令协定。CAS 是 Yale 大学发起的一个开源项目,旨在为 Web 套用系统提供一种可靠的单点登录方法,CAS 在 2004 年 12 月正式成为 JA-SIG 的一个项目。

基本介绍

  • 中文名中央认证伺服器
  • 外文名Central Authentication Service (CAS)
  • 成立2004 年 12 月
  • 特点开源的企业级单点登录解决方案

特点

1、开源的企业级单点登录解决方案。
2、CAS Server 为需要独立部署的 Web 套用。
3、CAS Client 支持非常多的客户端(这里指单点登录系统中的各个 Web 套用),包括 Java, .Net, PHP, Perl, Apache, uPortal, Ruby 等。
4、CAS属于Apache 2.0许可证,允许代码修改,再发布(作为开源或商业软体)。

原理和协定

从结构上看,CAS 包含两个部分 CAS Server 和 CAS Client。CAS Server 需要独立部署,主要负责对用户的认证工作;CAS Client 负责处理对客户端受保护资源的访问请求,需要登录时,重定向到 CAS Server。图1 是 CAS 最基本的协定过程
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 的合法性。
在该协定中,所有与 CAS 的互动均採用 SSL 协定,确保,ST 和 TGC 的安全性。协定工作过程中会有 2 次重定向的过程, CAS Client 与 CAS Server 之间进行 Ticket 验证的过程对于用户是透明的。
,CAS 协定中还提供了 Proxy (代理)模式,以适应更加高级、複杂的套用场景,具体介绍可以参考 CAS 官方网站上的相关文档。

Copyright@2015-2025 www.aizhengw.cn 癌症网版板所有