[Spring] Negative matches: Did not match:
문제
Negative matches:
-----------------
OAuth2ResourceServerJwtConfiguration.OAuth2SecurityFilterChainConfiguration:
Did not match:
- AllNestedConditions 1 matched 1 did not; NestedCondition on DefaultWebSecurityCondition.Beans @ConditionalOnMissingBean (types: org.springframework.security.web.SecurityFilterChain; SearchStrategy: all) found beans of type 'org.springframework.security.web.SecurityFilterChain' filterChain; NestedCondition on DefaultWebSecurityCondition.Classes @ConditionalOnClass found required classes 'org.springframework.security.web.SecurityFilterChain', 'org.springframework.security.config.annotation.web.builders.HttpSecurity' (DefaultWebSecurityCondition)
Exclusions:
-----------
jwt 로그인을 구현하던 중 다음과 같은 에러가 떴다.
원인
@Configuration
public class SecurityConfig {
@Bean
public SecurityFilterChain filterChain(HttpSecurity http) throws Exception {
}
}
SecurityFilterChain을 다음과 같이 SecurityConfig에 등록해서 사용중이었는데 SecurityFilterChain의 Bean을 찾지 못해서 생긴 오류였다.
해결
1. @EnableWebSecurity 어노테이션 붙이기
@Configuration
@EnableWebSecurity
public class SecurityConfig {
@Bean
public SecurityFilterChain filterChain(HttpSecurity http) throws Exception {
}
}
해당 클래스에 @EnableWebSecurity을 붙이면 기본 스프링 필터체인에 등록된다
2. filterChain ->securityFilterChain으로 이름 변경
@Configuration
public class SecurityConfig {
@Bean
public SecurityFilterChain securityFilterChain(HttpSecurity http) throws Exception {
}
}
해당되는 이름으로 빈을 등록할 수 있도록 이름을 바꿔준다