认证流程
用户提交后,默认走用户密码认证过滤器UsernamePasswordAuthenticationFilter,其继承了一个抽象的认证过滤器AbstractAuthenticationProcessingFilter。
AbstractAuthenticationProcessingFilter的doFilter方法负责认证流程,其关键过程包括:
- UsernamePasswordAuthenticationFilter.attemptAuthentication方法,认证过程。
- successfulAuthentication方法,认证成功写入上下文。
- unsuccessfulAuthentication方法,认证失败异常处理。
UsernamePasswordAuthenticationFilter.attemptAuthentication方法
一、UsernamePasswordAuthenticationFilter中通过方法attemptAuthentication返回一个Authentication,Authentication的默认实现类是UsernamePasswordAuthenticationToken,此时其isAuthenticated=false表示尚未认证。