SpringSecurtiy UsernamePasswordAuthenticationFilter验证过程:
如上,主要有以下一些步骤:
1)UsernamePasswordAuthenticationFilter的父类AbstractAuthenticationProcessingFilter
运行dofilter
2)调用UsernamePasswordAuthenticationFilter重写的attemptAuthentication进行验证
3) 调用ProviderManager的anthenticate
4)调用AbstractUserDetailsAuthenticationProvider的authenticate
5) 调用DaoAuthenticationProvider中的additionalAuthenticationChecks
6)在DaoAuthenticationProvider中验证密码
7)一路返回到Filter
8)Filter中调用successfulAuthentication
9)最终在SavedRequestAwareAuthenticationSuccessHandler中
sendRedirect到配置的成功地址