将“org.springframework.security.crypto.password.PasswordEncoder”注入“DaoAuthenticationProvider”时为什么会有效?

时间:2016-02-24 04:28:34

标签: spring spring-security

GSAAQQYWTPANATFYGGSDASGT IVPVNYARTTCRRTGGIRFTITGHDYFDN 中,"DaoAuthenticationProvider"字段是"passwordEncoder"的一个实例 。但是为什么它会在注入“org.springframework.security.crypto.password.PasswordEncoder”的实例时起作用?

1 个答案:

答案 0 :(得分:2)

DaoAuthenticationProvider.setPasswordEncoder采用Object参数类型。

在代码中,它运行instanceof以检查org.springframework.security.crypto.password.PasswordEncoder并将参数包装在org.springframework.security.authentication.encoding.PasswordEncoder的代理实现中。

source is here