Spring Security:在自定义身份验证中使用BCryptPasswordEncoder提供

时间:2014-11-30 05:33:47

标签: spring-security

我已经像这样窃取了我的密码:

    BCryptPasswordEncoder passwordEncoder = new BCryptPasswordEncoder();
    String hashedPassword = passwordEncoder.encode(password);

现在我将如何使用自定义弹簧身份验证验证登录用户名和密码

public Authentication authenticate(Authentication authentication) throws AuthenticationException{        

}

在此内部如何使用BCryptPasswordEncoder来匹配登录密码是否正确

1 个答案:

答案 0 :(得分:0)

您的身份验证方法的核心可能类似于:

String rawPassword = (String)authentication.getCredentials();
if (!passwordEncoder.matches(rawPassword, hashedPassword)) {
    throw new BadCredentialsException("Wrong password");
}