ProviderManager
是AuthenticationManager
的实现.
ProviderManager
代理多个AuthenticationProvider
(是Authentication的实现),每个AuthenticationProvider
决定是认证成功,失败还是交由下游处理.如果遇到不能处理的类型则会报错.
每个AuthenticationProvider
代表一个特别的认证方式,比如:
1)DaoAuthenticationProvider 支持 username/password based authentication
2)JwtAuthenticationProvider支持authenticating a JWT token.
参考:
https://docs.spring.io/spring-security/site/docs/5.4.5/reference/html5/#servlet-authentication-providermanager