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");
        }
  • 相关阅读:
    python和matlab
    进程和线程的主要区别
    如何理解卷积
    Leetcode 961. N-Repeated Element in Size 2N Array
    Leetcode 387. First Unique Character in a String
    Python ord()与chr()函数
    Leetcode 709. To Lower Case
    python 字符串大小写相关函数
    Leetcode 367. Valid Perfect Square
    Leetcode 1014. Capacity To Ship Packages Within D Days
  • 原文地址:https://www.cnblogs.com/think-world/p/12306217.html
Copyright © 2011-2022 走看看