共计 1351 个字符,预计需要花费 4 分钟才能阅读完成。
CAS 简介
CAS(Central Authentication Service) 是 Yale 大学发动的构建 Web SSO 的 开源我的项目
SSO 是什么?
SSO-Single Sign On 就是 单点登录 也就是 多个网站程序 对立到一个网址进行登录身份验证次要特点是:SSO 利用之间应用 Web 协定 (如 HTTPS),并且只有一个登录入口。咱们所讲的 SSO,指 Web SSO。
SSO 的体系中,有上面三种角色:
User(多个)Web 利用(多个)SSO 认证核心(一个)
所有的登录都在 SSO 认证核心进行。SSO 认证核心通过一些办法来通知 Web 利用以后拜访用户到底是不是通过认证的用户。SSO 认证核心和所有的 Web 利用建设一种信赖关系。就是能达到 很多不同服务器的或者雷同服务器的网站 对立到某个中央登录 如果你是应用同一个浏览器登录的 那么 在这个浏览器再关上其余的网站 这个网站 就不必再登录了
CAS 的构造体系
CAS Server
CAS Server 负责实现对用户信息的认证,须要独自部署,CAS Server 会解决用户名 / 明码等凭证 (Credentials)。就是 装置在服务器端的一个 web 程序 目前有耶鲁大学的 也有其它机构开发的,它是复制认证的服务器
CAS Client
CAS Client 部署在应用程序中,当有对本地 Web 利用受爱护资源的拜访申请,并且须要对申请方进行身份认证,重定向到 CAS Server 进行认证。
术语解释
TGT: 用来存储登入用户身份的的重要票据,一旦用户胜利登入到 CAS 服务器后,CAS 服务器就会生成一个 TGT, 并存储在 CAS 服务器端。最为重要的是确保 TGT 是全局惟一的
TGC: 是一个存储 TGT 的 Cookie。当登入到 CAS 服务器后,CAS 会在浏览器中存储它,这样下次登入时传回 CAS 服务器进行登入验证,只有借助 Https 传输通道,TGC 才会被传回 CAS 服务器
术语解释
SSO-Single Sign On,单点登录
TGT-Ticket Granting Ticket,用户身份认证凭证票据
ST-Service Ticket,服务许可凭证票据
TGC-Ticket Granting Cookie,寄存用户身份认证凭证票据的 cookie
Cas 原理图
拜访服务: SSO 客户端发送申请拜访利用零碎提供的服务资源。
重定向认证: SSO 客户端会重定向用户申请到 SSO 服务器。
用户认证:用户身份认证。
发放票据: SSO 服务器会产生一个随机的 Service Ticket。
验证票据: SSO 服务器验证票据 Service Ticket 的合法性,验证通过后,容许客户端拜访服务。
传输用户信息: SSO 服务器验证票据通过后,传输用户认证后果信息给客户端。
Cas 原理解析
已登录用户首次拜访利用群中零碎 B 时:
1)、浏览器拜访另一利用 B 需登录受限资源,此时进行登录查看,发现未登录,而后进行获取票据操作,发现没有票据。
2)、零碎 B 发现该申请须要登录,将申请重定向到认证核心,获取全局票据操作,获取全局票据,能够取得,认证核心发现曾经登录。
3)、认证核心发放长期票据(令牌),并携带该令牌重定向零碎 B。
4)、此时再次进行登录查看,发现未登录,而后再次获取票据操作,此时能够取得票据(令牌),零碎 B 与认证核心通信,验证令牌无效, 证实用户已登录。
5)、零碎 B 将受限资源返回给客户端。