7.2 第二个http:200,是test接口的返回给proxy的输出内容,如下:
7.3 第三个http:200,是proxy返回给浏览器的内容。
此时,我们完成了一次代理模式下的CAS。
8.如果我再次刷新网页http://localhost:8080/cas-client-proxy/ProxyTest
从抓包中可见,proxy保存了session,ST不会再次校验。
而获取PT的过程使我们自己写的,程序还会执行7.1-7.4的过程。
所以,在PT的获取这一步,是可以提高效率的。网上有介绍,这里不提。
从抓包的过程中,我们可以看到username会发送到每一个cas-client端。
获取方法:
AttributePrincipal principal = (AttributePrincipal) request.getUserPrincipal();
String username = principal.getName();
这个username对于需要在接口中验证权限的项目,是非常赞的。
9.此时重启tomcat,不关闭浏览器,由于cookie存在于浏览器中,所以会跨过登录,流程从第3步开始,继续往下走。