8:viewGenerateLoginSuccess这是CAS的认证成功页面。
/logout:(对应实现类org.jasig.cas.web.LogoutController)
处理逻辑:
1) removeCookie
2)在服务端删除TicketGrantingTicket对象(此对象封装了cookie的value值)
3)redirect到退出页面,有2种选择:

if(LogoutController的followServiceRedirects属性为true值,且url里的service参数非空){
redirect到sevice参数标识的url
}
else{
redirect到内置的casLogoutView(cas/WEB-INF/view/jsp/default/ui/casLogoutView.jsp),如果url里有url参数,则此url参数标识的链接会显示在casLogoutView页面上。
}
/serviceValidate:(对应实现类org.jasig.cas.web.ServiceValidateController)
处理逻辑:
如果service参数为空或ticket参数为空,则转发到failureView(/WEB-INF/view/jsp/default/protocol/2.0/casServiceValidationFailure.jsp)
验证ticket。以ticket为参数,去缓存里找ServiceTicketImpl对象,如果能找到,且没有过期,且ServiceTicketImpl对象对应的service属性和service参数对应,则验证通过,验证通过后,请求转发至casServiceSuccessView(cas/WEB-INF/view/jsp/default/protocol/2.0/casServiceValidationSuccess.jsp),验证不通过,则转发到failureView。
概念
Credentials用户提供的用于登录用的凭据信息,如用户名/密码、证书、IP地址、Cookie值等。jsp实现登录验证比如UsernamePasswordCredentials,封装的是用户名和密码。CAS进行认证的第一步,就是把从UI或request对象里取到的用户凭据封装成Credentials对象,然后交给认证管理器去认证。
AuthenticationHandler认证Handler,每种AuthenticationHandler只能处理一种Credentials,如AbstractUsernamePasswordAuthenticationHandler只负责处理UsernamePasswordCredentials。
Principal封装用户标识,比如SimplePrincipal,只是封装了用户名。认证成功后,credentialsToPrincipalResolvers负责由Credentials生成Principal对象。
CredentialsToPrincipalResolvers负责由Credentials生成Principal对象,每种CredentialsToPrincipalResolvers只处理一种Credentials,比如UsernamePasswordCredentialsToPrincipalResolver负责从UsernamePasswordCredentials中取出用户名,然后将其赋给生成的SimplePrincipal的ID属性。
本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/jisuanjixue/article-56599-3.html
该忍还是得忍