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");
        }
  • 相关阅读:
    密码 (pasuwado)
    bzoj 4131: 并行博弈 (parallel)
    Beads
    bzoj2338数矩形(rectangle)
    数树数
    最近公共祖先(lca)
    在python中遍历字典元素
    加载本地json文件,并利用批处理调用Chrome显示html
    numpy保存数据
    Echarts 地理信息可视化:基于地图显示坐标点信息
  • 原文地址:https://www.cnblogs.com/think-world/p/12306217.html
Copyright © 2011-2022 走看看