编写自定义身份验证提供程序时,可以添加密码编码器吗?

时间:2018-12-21 04:05:06

标签: spring-security

我是Spring Security的新手。我正在尝试编写我的自定义身份验证提供程序。它可以工作,但是我找不到与它一起使用密码编码器的选项。

请指导。

我的代码在https://github.com/payalbnsl/MvcSecurityCustomAuthenticationProvider

这是一个基本的spring mvc应用程序,其中只有一个端点使用我的自定义身份验证提供程序针对usernamepasswordtoken类型编写。我想在其中添加密码编码器。有可能吗?

1 个答案:

答案 0 :(得分:0)

您可以在客户提供者中创建密码编码器,而不是将编码器注入自己的身份验证提供者。

但是,我认为在阅读您的CustomAuthenticationProvider时无需写自己的客户服务提供商 很简单,您可以只使用JdbcUserDetailsManager

@Autowired
public void configureGlobal(AuthenticationManagerBuilder auth) throws Exception {
    auth.jdbcAuthentication()
           .dataSource(datasource)
           .usersByUsernameQuery("select username,password,1 "+ "from xxx " + "where username = ?")
           .authoritiesByUsernameQuery("select username, role "+ "from xxx " + "where username = ?")
           .passwordEncoder(passwordEncoder())
}