CAS 的SSO实现细节

  rel="File-List" href="file:///C:%5CDOCUME%7E1%5CADMINI%7E1%5CLOCALS%7E1%5CTemp%5Cmsohtml1%5C01%5Cclip_filelist.xml"> rel="Edit-Time-Data" href="file:///C:%5CDOCUME%7E1%5CADMINI%7E1%5CLOCALS%7E1%5CTemp%5Cmsohtml1%5C01%5Cclip_editdata.mso">

实验步骤html

1.       访问partner1 (CAS Client 1)index.jsp浏览器

2.       访问partner2 (CAS Client 2)index.jsp服务器

3.       访问partner1debug.jspjsp

4.       访问www.test.com:443/cas-server/logout (CAS Server)spa

 

讨论.net

步骤一debug

https://p-blog.csdn.net/images/p_blog_csdn_net/jaytse/EntryImages/20080725/p1.JPG
orm

1.       请求partner1index.jspserver

2.       发现请求页面为受限页面,REDIRECT CAS-Server端进行认证xml

3.       返回CAS Server登陆页面

4.       输入用户名、密码,Form表单提交

5.       CAS Server端进行认证,REDIRECTPartner端,此时CAS-Server端为Partner1生成ST,并在浏览器记录CAS ServerCookie

6.       Partner端获取到ST后,到CAS Server端去验证,返回认证信息

7.       若经过认证(1.0yes 2.0XML格式验证),Partner返回请求的页面,并在浏览器记录PartnerCookie

 

步骤二

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 ServerCookie一同到CAS-Server认证

3.       认证经过,REDIRECTPartner2,此时CAS Server端为Partner2生成ST

4.       Partner 2获取到ST后,到CAS Server端去验证,返回认证信息

5.       若经过认证,Partner2返回请求的页面,并在浏览器记录Partner2Cookie

 

步骤三

https://p-blog.csdn.net/images/p_blog_csdn_net/jaytse/EntryImages/20080725/p3.JPG

1.       请求Partner 1debug.jsp(带有Partner 1Cookie信息)

2.       返回debug.jsp

 

步骤四

https://p-blog.csdn.net/images/p_blog_csdn_net/jaytse/EntryImages/20080725/p4.JPG

1.       请求logout

2.       CAS Server通知Partner 1Partner 2

3.       返回CAS Serverlogout页面

 

备注

Redirect分红2个步骤:

1.       response发送给浏览器返回信息,通知浏览器建立新的请求

2.       请求新的页面

 

Cookie中携带的信息:

1.       域名

2.       路径

当域名和路径名所有相同的时候,浏览器产生请求才把对应的信息一同携带给服务器