一、不落俗套的开始
1、背景介绍
单点登录:Single Sign On,简称SSO,SSO使得在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。
CAS框架:CAS(Central Authentication Service)是实现SSO单点登录的框架。
2、盗一张学习CAS绝大多都看过的图以及执行部分分析
注:已分不清原创,此处就不给出地址了。
从结构上看,CAS包含两个部分:CAS Server 和CAS Client需要独立部署,主要负责对用户的认证工作;CAS
Client负责处理对客户端受保护资源的访问请求,需要登录时,重定向到CAS Server.图1是CAS最基本的协议过程:CAS Client 与受保护的客户端应用部署在一起,以Filter方式保护 Web 应用的受保护资源,过滤从客户端过来的每一个 Web
请求,同时, CAS Client会分析HTTP 请求中是否包请求 Service Ticket( 上图中的 Ticket)
,如果没有,则说明该用户是没有经过认证的,于是,CAS Client会重定向用户请求到CAS Server( Step 2 )。 Step
3是用户认证过程,如果用户提供了正确的Credentials, CAS Server 会产生一个随机的 Service Ticket
,然后,缓存该 Ticket ,并且重定向用户到CAS Client(附带刚才产生的Service Ticket), Service
Ticket 是不可以伪造的,最后, Step 5 和 Step6是 CAS Client 和 CAS
Server之间完成了一个对用户的身份核实,用Ticket查到 Username ,因为 Ticket是 CAS Server
产生的,因此,所以 CAS Server 的判断是毋庸置疑的。该协议完成了一个很简单的任务,所有与CAS的交互均采用SSL协议ÿ