对于最新的稳定版本,请使用 Spring Security 6.5.3! |
Dao身份验证提供者
本节将探讨如何DaoAuthenticationProvider
在 Spring Security 中工作。
下图解释了AuthenticationManager
在“读取用户名和密码”部分的图中。

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