1 用户点击登录,进入
UsernamePasswordAuthenticationFilter的
attemptAuthentication方法
此方法内获取账号密码,生成未验证的
authRequest(已经设置好了details,可以引入自定义的UserDetails实现)。
authRequest作为参数进行验证。
2 默认provider验证为
ProviderManager如图
在其中选择
DaoAuthenticationProvider进行账号密码校验,如图
在此方法内使用UserDetails实现进行验证
此方法内验证账号是否启用等信息
密码验证方法