异常记录:
使用spring security时出现的异常
java.lang.IllegalArgumentException: There is no PasswordEncoder mapped for the id “null”
这是因为在使用UserDetailsService时没有对配置类指定出现的异常,通过以下配置就可以解决
@Configuration
public class SecurityConfig extends WebSecurityConfigurerAdapter {
@Autowired
private UserService userService;
/**
* 指定使用的UserDetailsService,不指定security不知道用哪个做用户名和密码的校验
* @param auth
* @throws Exception
*/
@Override
protected void configure(AuthenticationManagerBuilder auth) throws Exception {
auth.userDetailsService ( userService ).passwordEncoder ( passwordEncoder () );
}
/**
* 使用BCrypt加密方式
* @return
*/
@Bean
public PasswordEncoder passwordEncoder(){
return new BCryptPasswordEncoder ( );
}
}