一 CAS是什么?
为Web应用系统提供一种可靠的单点登录解决方法的一个项目,是通过共享cookie实现的。
二 CAS原理
CAS是由CAS Server 和CAS Client组成:
1.架构图:
TGC:存放用户身份认证凭证的cookie
ST:服务票据,由CAS Server发出,通过客户端浏览器到达业务服务器端,一个特定的服务只有一个个唯一的ST。
PGT:由CAS Server 办法给拥有ST凭证的服务,PGT绑定一个用户的特定的服务,使其拥有向CASServer申请,获得PT的能力。
PGTIOU:将通过凭证校验时的应答信息由 CAS Server返回给CAS Client,同时,该PGTIOU 对应的PGT将通过回调连接给web 应用。web 应用负责维护PGTIOU和PGT之间映射关系的内容表
PT:应用程序代理用户身份对目标程序进行访问的凭证。
2 流程:
(1).访问服务:客户端拿着 TGC去访问CAS Client,如果TGC中含有有效的ST,则进入相应web界面,
(2).没有有效的ST,重定向到CAS Server,并传递 索要访问的资源地址。
(3).提供身份认证条件,验证通过会得到一个ST。
(4).webbrowser 拿着有有效ST的TGC 访问CAS Client
(5).CASClient 拿着用户的 TGC去 CAS Server进行验证
(6).当TGCIOU返回到 CAS Client。然后webBrowser就可以访问目的资源了。
3 ST/PT安全:
(1)ST只能用一次
(2)ST只在一段时间内有效,过了这段时间就会失效
(3)ST shi 由CAS Server基于随机数生成的。