zoukankan      html  css  js  c++  java
  • 解决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");
        }
  • 相关阅读:
    扫盲-关系数据库的第一第二第三范式
    Arcgis SOE学习
    JavaScript学习笔记(持续更新)
    JavaScript学习心得
    Vue学习
    扫盲-ES6
    JavaScript原理学习
    (转)扫盲--JavaScript的立即执行函数
    (*)(转)要快速学习SSM框架,你需要一套学习曲线平滑的教程
    网络爬虫研发重点介绍
  • 原文地址:https://www.cnblogs.com/think-world/p/12306217.html
Copyright © 2011-2022 走看看