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