CAS源码还是比较复杂的,通过几天的学习,整理了CAS的工作流程。
一、第一次访问
1、浏览器访问:https://localhost:8443/App1
2、客户端:AuthenticationFilter filter 发现Session中无 Assertion,且URL中无 ticket 变量。生成 service url 变量, 并重定向
到:https://localhost:8443/cas/login?service=http://localhost:8443/ App1
AuthenticationFilter 的主要功能:
if(url中无ticket参数&&session中没有TicketValidationFilter配置的assertion 对象){
response.sendRedirect(cas 服务器的/login 接口);
// 生成service 参数,添加到url 后面
}else{不做处理}
3、服务器端:默认访问服务器端的index.jsp,下面我们来看一下其内部的代码: