此版本仍在开发中,尚未被视为稳定版本。对于最新的稳定版本,请使用 Spring Security 6.4.1spring-doc.cadn.net.cn

DaoAuthenticationProvider

本节将探讨DaoAuthenticationProvider在 Spring Security 中工作。 下图说明了AuthenticationManager读取用户名和密码部分的数字中。spring-doc.cadn.net.cn

DAOActionprovider
图 1.DaoAuthenticationProvider用法

数字 1身份验证Filter读取用户名和密码部分传递一个UsernamePasswordAuthenticationTokenAuthenticationManager,它由ProviderManager.spring-doc.cadn.net.cn

编号 2ProviderManager配置为使用 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返回的 类型为UsernamePasswordAuthenticationToken并且有一个主体,该主体是UserDetails由配置的UserDetailsService. 最终,返回的UsernamePasswordAuthenticationTokenSecurityContextHolder通过身份验证Filter.spring-doc.cadn.net.cn