对于最新的稳定版本,请使用 Spring Security 6.5.3spring-doc.cadn.net.cn

Dao身份验证提供者

让我们来看看如何DaoAuthenticationProvider在 Spring Security 中工作。 该图详细说明了如何AuthenticationManager阅读用户名和密码工作的数字中。spring-doc.cadn.net.cn

DAO身份验证提供程序
图 1.DaoAuthenticationProvider用法

1号身份验证Filter读取用户名和密码传递一个UsernamePasswordAuthenticationTokenAuthenticationManagerProviderManager.spring-doc.cadn.net.cn

2号ProviderManager配置为使用 AuthenticationProvider 类型DaoAuthenticationProvider.spring-doc.cadn.net.cn

3号 DaoAuthenticationProvider查找UserDetailsUserDetailsService.spring-doc.cadn.net.cn

4号 DaoAuthenticationProvider然后使用PasswordEncoder以验证UserDetails返回。spring-doc.cadn.net.cn

5号身份验证成功后,Authentication返回的 is 类型为UsernamePasswordAuthenticationToken并且有一个主体,即UserDetails由配置的UserDetailsService. 最终,返回的UsernamePasswordAuthenticationToken将设置在SecurityContextHolder通过身份验证Filter.spring-doc.cadn.net.cn