|
此版本仍在开发中,尚未被视为稳定版本。对于最新的稳定版本,请使用 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.