spring.security.user.password 与 BCrypt:“编码的密码看起来不像 BCrypt”

问题描述 投票:0回答:0

对于

Spring Boot
3.1.1
Spring Security

一起工作

现在,感谢

Spring Boot CLI
,可以根据BCrypt生成
密码编码
,如下所示:

spring encodepassword spring-latinoamerica

它回来了

{bcrypt}$2a$10$G6k1rOdROfXRoHW1/c5l0uyLgUWKb2CcGstuXMJc5GZF802sGvGcG

现在用于学术目的 ...

考虑到简单/基本的身份验证机制,存在如下

application-security.properties
文件:

spring.security.user.name=manueljordan
#spring.security.user.password=spring-latinoamerica
spring.security.user.password={bcrypt}$2a$10$G6k1rOdROfXRoHW1/c5l0uyLgUWKb2CcGstuXMJc5GZF802sGvGcG

并具有以下内容:

@Configuration
@EnableWebSecurity
class SecurityConfig {

    @Bean
    PasswordEncoder passwordEncoder() {
//      PasswordEncoder encoder = PasswordEncoderFactories.createDelegatingPasswordEncoder();
//      return encoder;
        return new BCryptPasswordEncoder();
    }

}

登录失败,并显示

Bad credentials
,并在终端中显示:

Encoded password does not look like BCrypt

如何解决这种情况?

当然,如果使用原始密码则登录成功。

spring-boot spring-security bcrypt
© www.soinside.com 2019 - 2024. All rights reserved.