文章开始之前首先要吐槽一下现在的网络环境,只要你在网上搜索一个具体的问题,搜索出来的基本上都是千篇一律,各种转载各种抄袭,很难找到一点自己原创且能把东西说清楚的。 最近工作之余回顾了一下CAS的原来,发现其中有一些概念让刚接触这个东西的人真的会是一头雾水,于是想在现实生活中找一个类似的场景来说明这样的事情,并将其记录于此。
首先放一张网上到处转载处可以找到的图:
如果你看了这幅图能完全明白CAS流程,那就不用往下看了,你理解能力挺强的,反正两年以前我看这幅图是看得晕乎晕乎的,如果不明白,我保证你看了下面就能明白。
单点登录涉及都几个参与者:1.单点认证服务器(CAS SERVER) 2.客户端浏览器 3.N多个的应用服务器
涉及到的概念:1.TGT 2.ST (这两个就够了,其它有代理的情况自己再深入理解)
然后抛出几个问题:TGT到底是什么鬼? 用来做什么的 ?
ST到底是什么鬼?用来做什么的?
CAS和你的应用服务器到底是怎么交互?当你直接访问你的应用服务器时,是怎么知道你已经认证成功了的 ?
带着问题,我想到了现实生活中有一个场景与单点登录场景非常相似——机场买票坐飞机, 如下图: