CAS 单点登录原理解析,第1张

CAS是耶鲁大学发起的一个开源单点登录项目,也是用的最为广泛的开源项目。对于学习SSO有非常好的参考价值

单点登录(Single Sign On),简称为 SSO。多用于多系统共存的环境下,用户在一处登录后,就不用在其他系统中登录,最简单的单点登入实现可以完全基于 cookie ,通过往浏览器写带有登入信息的token来达到多点登入的目的,有兴趣的可以自己动手实现一个

先盗个图 :

从结构上看,分成了三部分:CAS Client,CAS Server,浏览器

CAS Client 与受保护的客户端应用部署在一起,以 Filter 方式保护 Web 应用的受保护资源,过滤从客户端过来的每一个Web请求

下面我将分为两部分(用户第一次登录验证和之后的登录验证)详细解析其登入原理

以上是第一次验证时基本流程

跨域的关键在于浏览器端的Cookie: TGC ,因为这个Cookie是设置在 SSO Server 端的,也就保证了统一票据和 Client 端域名无关。

cas 单点登录核心就是 单个cookie , N个session

在该协议中,所有与 CAS Server 的交互均采用 SSL 协议,以确保 ST 和 TGC 的安全性。

如果我们的网站需要和另一个域名做统一认证,也就是在我们网站登录,但真正的功能却在另一个网站来提供。许多都以 passport 的方式。 整个认证可以分三步完成 第一步:本地验证

这个很简单,输入本地的用户名和密码,然后服务器认证通过,并返回正确的Cookie;

第二步:做远程认证,并返回远程连接

通过本地Cookie,确认用户合法性,然后服务器端调用远程的登录程序,返回一个远程认证号的URL,这个URL里面包含了一个唯一的认证码,使用Location的方式

第三步:远程登录

客户端使用前一步的URL,访问远程的服务器,服务器确认认证码的正确性,再返回正确的远程Cookie

至此,本地认证,通过一个URL,实现了远程认证。

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

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » CAS 单点登录原理解析

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情