实验步骤
1. 访问partner1 (CAS Client 1)的index.jsp
2. 访问partner2 (CAS Client 2)的index.jsp
3. 访问partner1的debug.jsp
4. 访问www.test.com:443/cas-server/logout (CAS Server)
讨论
步骤一
https://p-blog.csdn.net/images/p_blog_csdn_net/jaytse/EntryImages/20080725/p1.JPG
1. 请求partner1的index.jsp
2. 发现请求页面为受限页面,REDIRECT 到CAS-Server端进行认证
3. 返回CAS Server登录页面
4. 输入用户名、密码,Form表单提交
5. CAS Server端进行认证,REDIRECT到Partner端,此时CAS-Server端为Partner1生成ST,并在浏览器记录CAS Server的Cookie
6. Partner端获取到ST后,到CAS Server端去验证,返回认证信息
7. 若通过认证(1.0为yes, 2.0为XML格式验证),Partner返回请求的页面,并在浏览器记录Partner的Cookie
步骤二
https://p-blog.csdn.net/images/p_blog_csdn_net/jaytse/EntryImages/20080725/p2.JPG
1. 请求Partner2 的index.jsp
2. 发现请求页面为受限页面,REDIRECT 到CAS-Server端进行认证。浏览器的Redirect带着将已经被记录了的通过认证的CAS Server的Cookie一同到CAS-Server认证
3. 认证通过,REDIRECT到Partner2,此时CAS Server端为Partner2生成ST。
4. Partner 2获取到ST后,到CAS Server端去验证,返回认证信息
5. 若通过认证,Partner2返回请求的页面,并在浏览器记录Partner2的Cookie
步骤三
https://p-blog.csdn.net/images/p_blog_csdn_net/jaytse/EntryImages/20080725/p3.JPG
1. 请求Partner 1的debug.jsp(带有Partner 1的Cookie信息)
2. 返回debug.jsp
步骤四
https://p-blog.csdn.net/images/p_blog_csdn_net/jaytse/EntryImages/20080725/p4.JPG
1. 请求logout
2. CAS Server通知Partner 1和Partner 2
3. 返回CAS Server的logout页面
备注
Redirect分成2个步骤:
1. response发送给浏览器返回信息,通知浏览器创建新的请求
2. 请求新的页面
Cookie中携带的信息:
1. 域名
2. 路径
当域名和路径名全部相同的时候,浏览器产生请求才把对应的信息一同携带给服务器