单点登录身份认证原理图
导读前提:什么是会话session对象??
答:session对象就通常是块儿内存空间其内存值,服务器用来保存 用户和服务器的交互数据状态的一块存储区域(通常是内存),session是个会话的意思, 普遍存在于cs/bs架构下
举个例子,HttpSession, hibernate也有session的概念,都是指客户端和服务器之间的会话(连接之上的会话通常用于保存临时交互状态数据),
我们http接口通常当调用的时候通过身份认证后就会产生用户会话这个概念,session存在的形式很多,传统tomcat里面自己会给你生产,现在流行无状态服务器端后,session通常转移到redis中用redis内存空间去实现
————————————————————————————————————
注意:上图中的cas.server.com指的是身份认证中心服务器域名
www.xx.com指的是访问cas服务器的客户端web应用服务,也是浏览器原始想访问的业务服务url
又又又发出请求了,再次上阵!
又又又又
最后一步了也是再次发起原始资源请求的终极目的
至此,以后浏览器要再发送请求资源消息给xx.com目标服务,则浏览器不会再和cas直接交互了(不会重定向请求cas了),浏览器就只会和www.xx.com目标服务直接交互了 ,由www.xx.com将请求资源响应给浏览器,就是最后一个流程所描述的。
以上内容都是我通过网上资料如下原文推理出来的,现在附加上网上原始资料及原文和图例
我理解的
TGT就是session会话对象,
TGC就是要存放进cookies中的sessionID,
而ST就是cas分发的访问令牌token
cas client就是我例举的www.xx.com接口服务
cas server就是www.cas.server.com(*身份认证授权服务器)的域名
cas —》: center authentication/authorization server
大家对照着看和理解吧,
水平有限,有所错漏之处请大家谅解,欢迎交流!