​概念解读:



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 单点登录流程_重定向


    参考文档: 《​​CAS Protocol​​》             

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

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

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