Spring Boot2集成Security时候在页面输入用户名密码出现的异常,这是配置用户的代码

java.lang.IllegalArgumentException: There is no PasswordEncoder mapped
for the id “null”

/**
* 描述:配置内存用户
* @param auth
* @throws Exception
*/
@Autowired
public void configureGlobal(AuthenticationManagerBuilder auth) throws Exception {
auth
.inMemoryAuthentication()
.withUser("唐伯虎").password("123456").roles("ADMIN")
.and()
.withUser("秋香").password("123456").roles("USER");
}

解决:SpringBoot2集成Security的时候没有加版本号,所以集成的Security 5版本的,它在设置密码的时候需要增加如下代码

下面代码是不使用加密策略
如果使用加密策略可以配置Security的Bycrpt

@SuppressWarnings("deprecation")
@Bean
public static NoOpPasswordEncoder passwordEncoder() {
return (NoOpPasswordEncoder) NoOpPasswordEncoder.getInstance();
}