Java Spring MVC中加密的适当组件
我是一个刚开始使用SpringMVC的新手(不幸的是,文档对我没有多大帮助),我仍然不知道在哪里使用Jasypt密码加密程序来加密通过注册表收到的密码。直接在用户模型密码设置器中执行此操作是一种不好的做法,还是应该使用服务?此外,我相信这可以与Spring Security集成,使加密机也用于身份验证?谢谢。关于身份验证 使用authenticationProvider`对认证后的密码进行编码Java Spring MVC中加密的适当组件,java,spring-mvc,spring-security,Java,Spring Mvc,Spring Security,我是一个刚开始使用SpringMVC的新手(不幸的是,文档对我没有多大帮助),我仍然不知道在哪里使用Jasypt密码加密程序来加密通过注册表收到的密码。直接在用户模型密码设置器中执行此操作是一种不好的做法,还是应该使用服务?此外,我相信这可以与Spring Security集成,使加密机也用于身份验证?谢谢。关于身份验证 使用authenticationProvider`对认证后的密码进行编码 @Configuration @EnableWebSecurity public class Secu
@Configuration
@EnableWebSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter {
@Autowired
private UserDetailsService userDetailsService;
@Override
protected void configure(AuthenticationManagerBuilder auth) throws Exception {
auth.authenticationProvider(authProvider());
}
@Bean
public DaoAuthenticationProvider authProvider() {
DaoAuthenticationProvider authProvider = new DaoAuthenticationProvider();
authProvider.setUserDetailsService(userDetailsService);
authProvider.setPasswordEncoder(encoder());
return authProvider;
}
@Bean
public PasswordEncoder passwordEncoder(){
return new BCryptPasswordEncoder();
}
}
关于用户创建
在userService
@Autowired
private PasswordEncoder passwordEncoder;
然后
资料来源:
此外,请确保为要保护的密码定义输入是的,您需要一个用户控制器来执行注册等操作。检查
user.setPassword(passwordEncoder.encode(userDto.getPassword()));