解决java.lang.IllegalArgumentException: There is no PasswordEncoder mapped for the id "null"
【解决java.lang.IllegalArgumentException: There is no PasswordEncoder mapped for the id "
null"
】大道之行,天下为公。这篇文章主要讲述解决java.lang.IllegalArgumentException: There is no PasswordEncoder mapped for the id "
null"
相关的知识,希望能为你提供帮助。
问题描述:
使用springboot,权限管理使用spring security,使用内存用户验证,但无响应报错:
java.lang.IllegalArgumentException: There is no PasswordEncoder mapped for the id "null"
解决方式
①:
创建MyPasswordEncoder类实现PasswordEncoder,加注解
@Component
@Component public class MyPasswordEncoder implements PasswordEncoder { @Override public String encode(CharSequence charSequence) { return charSequence.toString(); }@Override public boolean matches(CharSequence charSequence, String s) { return s.equals(charSequence.toString()); } }
@Override protected void configure(AuthenticationManagerBuilder auth) throws Exception { //如果程序报错There is no PasswordEncoder mapped for the id "null",就将该段注释添加下边代码 //或者在MyPasswordEncoder类上加一个@Component注解,使它成为一个Bean auth.inMemoryAuthentication().withUser("admin").password("123456").authorities("ADMIN_ADD","ADMIN_FIND"); //自定义登录用户用户名和密码并赋予一些权限 }
②:
@Override protected void configure(AuthenticationManagerBuilder auth) throws Exception {//这个是使用了匿名内部类 auth.inMemoryAuthentication().passwordEncoder(new MyPasswordEncoder()).withUser("lxy").password("lxy").authorities("ADMIN_ADD","ADMIN_FIND"); }
推荐阅读
- app 立即杀进程导致 webview保存的cookie失效
- android 动画基础绘——view 动画[补]
- 从源码角度看Android系统SystemServer进程启动过程
- appveyor build failed--
- 安卓记账本开发——数据库创建和数据测试
- Android Stdio的学习 5
- Android Stdio的学习6
- 家庭记账本安卓版开发(第六天)
- 记账本APP小升级