使用BCryptPasswordEncoder Spring Security在密码更改时重新键入当前密码

时间:2016-05-02 15:09:26

标签: java spring spring-security

我的应用程序具有更改密码的功能。

我使用BCryptPasswordEncoder对密码进行编码并添加到数据库中,Spring Security可以使用以下代码处理:

@Autowired
public void configureGlobal(AuthenticationManagerBuilder authentication) throws Exception {
    authentication
                  .jdbcAuthentication()
                      .dataSource(dataSource)
                      .passwordEncoder(new BCryptPasswordEncoder());
}

我正在尝试将其实现到Controller中,用户必须键入当前密码。调用BCryptPasswordEncoder并加密密码但与密码存储在DB中的密码不匹配。

有什么想法解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

在评论部分的帮助下,我得到了答案。

我现在使用来自rawPassword的{​​{1}}函数将encodedPasswordmatches()进行比较。

我做的是:

BCryptPasswordEncoder