在BladePasswordEncoder类中怎么获取到BladeRedis实例,我要做一个登录失败冻结功能

Blade 已结 1 674
广东恒电
广东恒电 剑圣 2022-04-07 17:16

一、该问题的重现步骤是什么?

1. 如果在BladePasswordEncoder类上面添加@Component,然后再注入BladeRedis就会报错


三、你正在使用的是什么产品,什么版本?在什么操作系统上?

bladeX 2.6.0


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

at org.springframework.security.crypto.password.DelegatingPasswordEncoder$UnmappedIdPasswordEncoder.matches(DelegatingPasswordEncoder.java:244)

at org.springframework.security.crypto.password.DelegatingPasswordEncoder.matches(DelegatingPasswordEncoder.java:198)

at org.springframework.security.authentication.dao.DaoAuthenticationProvider.additionalAuthenticationChecks(DaoAuthenticationProvider.java:90)

at org.springframework.security.authentication.dao.AbstractUserDetailsAuthenticationProvider.authenticate(AbstractUserDetailsAuthenticationProvider.java:166)

at org.springframework.security.authentication.ProviderManager.authenticate(ProviderManager.java:175)

at org.springframework.security.authentication.ProviderManager.authenticate(ProviderManager.java:200)

1条回答
  •  zhx1994
    zhx1994 (最佳回答者)
    2022-04-07 17:57

    可以通过SpringUtil.getBean(BladeRedis.class);获取

    0 讨论(1)
提交回复