[SPRING] 스프링 보안 : 4.0에서 5.0으로 마이그레이션 - 오류 - "null"id에 매핑 된 PasswordEncoder가 없음 [닫힘]
SPRING스프링 보안 : 4.0에서 5.0으로 마이그레이션 - 오류 - "null"id에 매핑 된 PasswordEncoder가 없음 [닫힘]
java.lang.IllegalArgumentException: There is no PasswordEncoder mapped for the id "null"
org.springframework.security.crypto.password.DelegatingPasswordEncoder$UnmappedIdPasswordEncoder.matches(DelegatingPasswordEncoder.java:236)
org.springframework.security.crypto.password.DelegatingPasswordEncoder.matches(DelegatingPasswordEncoder.java:196)
org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter$LazyPasswordEncoder.matches(WebSecurityConfigurerAdapter.java:593)
내 코드가 잘 작동했다. 이제 스프링 보안 버전이 4.0에서 5.0으로 변경되었다.
해결법
-
==============================
1.Java 기반의 경우 코드에서 이러한 변경을 수행하고 다음과 같이 업데이트하십시오.
Java 기반의 경우 코드에서 이러한 변경을 수행하고 다음과 같이 업데이트하십시오.
@Autowired public void configureGlobalSecurity(AuthenticationManagerBuilder auth) throws Exception { BCryptPasswordEncoder encoder = passwordEncoder(); auth.inMemoryAuthentication().withUser("admin").password(encoder.encode("admin")).roles("ADMIN"); } @Bean public BCryptPasswordEncoder passwordEncoder() { return new BCryptPasswordEncoder(); }
또는,
@Bean public static NoOpPasswordEncoder passwordEncoder() { return (NoOpPasswordEncoder) NoOpPasswordEncoder.getInstance(); }
XML 구성의 경우,
<bean id ="passwordEncoder" class = "org.springframework.security.crypto.NoOpPasswordEncoder" factory-method = "getInstance" />
-
==============================
2.그녀에게 필요한 업데이트에 대한 링크를 읽어보십시오.
그녀에게 필요한 업데이트에 대한 링크를 읽어보십시오.
https://spring.io/blog/2017/11/01/spring-security-5-0-0-rc1-released#password-storage-format.
클래스에 암호 엔코더에 대한 bean을 추가해야 할 수도 있습니다. 다시 말해 요구 사항에 따라 다릅니다.
예를 들어 아래의 구성 클래스에서 NoOpPasswordEncoder를 사용할 수있는 경우 : -
@Bean public NoOpPasswordEncoder noopPasswordEncoder(){ return new NoOpPasswordEncoder(); }
아래 XML 기반 구성의 경우 : -
<bean id ="passwordEncoder" class = "org.springframework.security.crypto.NoOpPasswordEncoder" factory-method = "getInstance" />
from https://stackoverflow.com/questions/49609768/spring-security-migrating-4-0-to-5-0-error-there-is-no-passwordencoder-mapp by cc-by-sa and MIT license