出现问题的原因:
内存用户验证时,Spring boot 2.0.1引用的security 依赖是 spring security 5.X版本,此版本需要提供一个PasswordEncorder的实例,否则后台汇报错误:
java.lang.IllegalArgumentException: There is no PasswordEncoder mapped for the id "null"
并且页面毫无响应。
java.lang.IllegalArgumentException: There is no PasswordEncoder mapped for the id "null"
并且页面毫无响应。
解决方法:
创建PasswordEncorder的实现类MyPasswordEncoder。
代码一:
1 package com.mmall.demo; 2 3 import org.springframework.security.crypto.password.PasswordEncoder; 4 5 public class MyPasswordEncoder implements PasswordEncoder { 6 @Override 7 public String encode(CharSequence rawPassword) { 8 return rawPassword.toString(); 9 } 10 11 @Override 12 public boolean matches(CharSequence rawPassword, String encodedPassword) { 13 return encodedPassword.equals(rawPassword); 14 } 15 }