对于
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
如何解决这种情况?
当然,如果使用原始密码则登录成功。