我是Spring Security的新手。我正在尝试编写我的自定义身份验证提供程序。它可以工作,但是我找不到与它一起使用密码编码器的选项。
请指导。
我的代码在https://github.com/payalbnsl/MvcSecurityCustomAuthenticationProvider
这是一个基本的spring mvc应用程序,其中只有一个端点使用我的自定义身份验证提供程序针对usernamepasswordtoken类型编写。我想在其中添加密码编码器。有可能吗?
答案 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())
}