CAS的官方站点:

https://apereo.github.io/cas/5.2.x/index.html

 

概念解读:

 

The TGT (Ticket Granting Ticket), stored in the TGC cookie, represents a SSO session for a user.

TGT保存在TGC(TGC是CAS服务端存放在浏览器端的cookie,主要就是用来保存TGT)中,服务端可以通过TGT来判断是否有对应的用户SSO session(即用户在CAS服务端对应的session)存在。

 

The ST (Service Ticket), transmitted as a GET parameter in urls, stands for the access granted by the CAS server to the CASified application for a specific user.

ST是CAS服务端为指定用户生成的用于访问某一个CAS客户端的字符串:浏览器和CAS服务端交互后,服务端生成ST,并将浏览器重定向到CAS的客户端,此时重定向的地址中会包括ST,如此ST就被传递给了CAS的客户端,客户端再拿着该ST去CAS服务端询问该ST是否有效。

 

以下是摘自官网的流程图,非常清晰易懂 (建议使用浏览器的放大功能观看):

 

 

CAS单点登录流程_客户端

 

 
 
参考文档:
 
 
 
 
  
 

之前本文内容摘自网上广为流传的两篇博文,现已替换为官方说明,其中第一篇博文的概念解释虽然也可以自圆其说,但是部分内容描述确实存在错误,特别是经过一楼评论区的提醒,才引起了我的注意,特此说明:

http://www.coin163.com/java/cas/ticket.html   讲的是几个概念(TGT部分描述错误)

http://wenku.baidu.com/link?url=9uKc_P9o0caqJS3fUYj6Fwd28ulTUy6z1gAnZ9BHtSEx0QXKZ5VZApxLTM7FS1X6whRnjMseel7puc6T-s8PpGFsh_M_cWcwMWIsXnw0--q  讲的是流程ujfj