您好!欢迎来到betwayapp
当前位置:主页 > 今日热点 >
单点登录(二):道理代码剖析

  1.1 用户首次访问,过滤器阻挡

  当用户第一次访问子系统A的时分,因为在子系统A设备了过滤器,所以起首会对恳求停止阻挡,以下web.xml代码:

  

   CAS Filter

   org.jasig.cas.client.authentication.AuthenticationFilter

  

   casServerLoginUrl

   https://iot:8443/casServer/login

  

  

   serverName

   http://iot:18080

  

  

  

   CAS Filter

  

  ? public void setAuthenticationManager(

  ? final AuthenticationManager authenticationManager) {

  ? this.authenticationManager=authenticationManager;

  ? }

  可以看出,该实例实际上是经过springmvc注入的。在deployConfigContext.xml中有其定义,以下代码:

  

  

  

   ? ? ?

  

  

  />

  

   ?

  

  

  由上代码可知道,先把SimpleTestUsernamePasswordAuthenticationHandler注入到AuthenticationManagerImpl,再把AuthenticationManagerImpl注入到其CentralAuthenticationServiceImpl

  停止验证。

  Ps:在SimpleTestUsernamePasswordAuthenticationHandler类中,有以下具体验证代码:

  if (StringUtils.hasText(username) && StringUtils.hasText(password)

  ? && username.equals(getPasswordEncoder().encode(password)))

  总结:

  

  当认证胜利以后,一末尾的submit方法就会前去"success。再接着会前去重定向到目标页面。

  四.CAS效劳器认证------>重定向目标资本

  认证胜利后,后续就十分复杂了。在一末尾的AuthenticationViaFormAction中的realSubmit函数,刚才我们侧重剖析了WebUtils.putTicketGrantingTicketInRequestScope(context, this.centralAuthenticationService.createTicketGrantingTicket(credentials));这句话的认证过程。


上一篇:保供一线丨嘉禾自来水公司“老王”的一天

下一篇:没有了