目录
AbstractAuthenticationProcessingFilter
UsernamePasswordAuthenticationFilter
UsernamePasswordAuthenticationToken
此文为本人学习完尚硅谷SpringSecurity之后的笔记,欢迎指出不足之处。
基本流程
详细流程
AbstractAuthenticationProcessingFilter
doFilter()
UsernamePasswordAuthenticationFilter
父类调用 attemptAuthentication()
UsernamePasswordAuthenticationToken
1.UsernamePasswordAuthenticationToken 是 Authentication 的实现类
2.两个构造函数
3.Authentication 接口的实现类用于存储用户认证信息
ProviderManager
为 AuthenticationManager 实现类
UsernamePasswordAuthenticationToken 的父类为AbstractAuthenticationToken
DaoAuthenticationProvider
为 AuthenticationProvider 的实现类
authenticate() 为父类中方法
authenticate()
1.调用字类重写的 retrieveUser() 获取UserDetails对象
2.调用字类重写的 additionalAuthenticationChecks() 判断传入的 Authentication对象中密码 是否与获取的 UserDetails对象中密码对应 (通过PasswordEncoder对比)
3.匹配成功,组装Authentication对象
4.我们可以实现自己需要的 UserDetailsService 与 UserDetails 以及 PasswordEncoder
本文概述了Spring Security中的Authentication流程,从AbstractAuthenticationProcessingFilter的doFilter方法,到UsernamePasswordAuthenticationFilter的使用,以及DaoAuthenticationProvider的authenticate方法。重点讲解了Authentication对象的认证步骤和关键组件如UsernamePasswordAuthenticationToken和ProviderManager。



















1333

被折叠的 条评论
为什么被折叠?



