配置RepositoryRestResource以加密用户密码

时间:2019-01-31 22:49:35

标签: spring-boot spring-security spring-rest

我如何配置RepositoryRestResource来加密用户类的密码?

我在“ WebSecurityConfigurerAdapter”类中使用密码编码器bean设置了JWT身份验证。

@Override
protected void configure(AuthenticationManagerBuilder auth) throws 
Exception {
    auth.userDetailsService(userSecurityService).passwordEncoder(encoder());
}

@Bean
public PasswordEncoder encoder() {
    return new BCryptPasswordEncoder();
}

我的存储库如下

@RepositoryRestResource(collectionResourceRel = "user", path = "user")
public interface UserRepository extends MongoRepository<User, String> {
User findByUsername(@Param("username") String name);
}

1 个答案:

答案 0 :(得分:0)

假设登录/注册数据是通过HTTPS(TLS)传输的。

  

我如何配置RepositoryRestResource来加密用户类的密码?

RepositoryRestResource处理REST,与在后端加密密码无关。在将实体保存到数据库之前,只需将您的PasswordEncoder bean以及在您设置域用户的密码(例如:userToBeSaved.setPassword(passwordEncoder.encode(inputUser.getPassword())))中自动连线即可。然后,您应该在数据库中得到一个哈希密码。