对于最新的稳定版本,请使用 Spring Security 6.4.1! |
DaoAuthenticationProvider
让我们来看看DaoAuthenticationProvider
在 Spring Security 中工作。
该图详细介绍了AuthenticationManager
在数字中 读取用户名和密码有效。

图 1.
DaoAuthenticationProvider
用法身份验证
Filter
从 读取用户名和密码 传递一个UsernamePasswordAuthenticationToken
到AuthenticationManager
它由ProviderManager
.
这
ProviderManager
配置为使用 AuthenticationProvider 类型的DaoAuthenticationProvider
.
DaoAuthenticationProvider
查找UserDetails
从UserDetailsService
.
DaoAuthenticationProvider
然后使用PasswordEncoder
要验证UserDetails
在上一步中返回。
身份验证成功后,
Authentication
返回的 类型为UsernamePasswordAuthenticationToken
并且有一个主体,该主体是UserDetails
由配置的UserDetailsService
.
最终,返回的UsernamePasswordAuthenticationToken
将在SecurityContextHolder
通过身份验证Filter
.