java.lang.IllegalArgumentException: There is no PasswordEncoder mapped for the id "null"

本文介绍如何解决SpringBoot 2.X结合SpringSecurity 5.X版本出现的强制PasswordEncoder实例问题。通过自定义密码编码器Bean来避免应用启动时报错,并提供了一个具体的实现示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Spring boot 2.X引用spring security 5.X以上版本,强制PasswordEncorder实例,否则后台报错如上,且页面无响应

创建PasswordEncorder的实现类

@Autowired
private PasswordEncoder passwordEncoder;

下面的代码替换即可
,passwordEncoder.encode("123456")

ok了么,不可能的,因为这个PasswordEncoder并没有定义,你会看到
 

Action:

Consider defining a bean of type 'org.springframework.security.crypto.password.PasswordEncoder' in your configuration.

怎么办

public class BrowserSecurityConfig extends WebSecurityConfigurerAdapter {
添加如下字段

 @Bean
    public PasswordEncoder passwordEncoder() {
        return new BCryptPasswordEncoder();
    }

任意加密方法的bean即可

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值