单点登录的概念不再赘述。而关于jasig cas 的认证流程,其实十分简单明了,直接上图:
上图中几个角色分别为:user(用户)、browser(浏览器)、cas server(jasig cas认证服务)、(app1)应用1、(app2)应用2。
一、两个关键元素:ST、TGC
ST:即service ticket;用于验证用户认证状态的一种凭证。当用户请求某个应用的资源时,若该用户尚未认证,则在用户输入用户名密码进行身份认证,认证成功cas服务会返回一个ticket,访问应用的时候会在url带上这个ticket去cas进行验证,验证有效则允许访问应用资源。
TGC:即ticket-granting cookie;是一个由cas服务设置的cookie。TGC维护了客户端和cas服务的信任关系,当用户认证通过,则cas会在浏览器设置一个TGC,下次用户再次请求时则只需带上TGC,只要此TGC尚未失效,都无需重新认证,否则需再次进行用户名密码登录认证。简单来说,就是让客户机和cas服务建立一个会话(session),会话失效之前都无需重复认证,