jwt 적용 연습 중에 맞이한 에러를 정리한다.
@EnableWebSecurity
@RequiredArgsConstructor
public class SecurityConfig extends WebSecurityConfigurerAdapter {
private final TokenProvider tokenProvider;
private final JwtAuthenticationEntryPoint jwtAuthenticationEntryPoint;
private final JwtAccessDeniedHandler jwtAccessDeniedHandler;
...
}
public class JwtAccessDeniedHandler implements AccessDeniedHandler {
...
}
public class JwtAuthenticationEntryPoint implements AuthenticationEntryPoint {
...
}
에러 메시지는 아래와 같다.
Parameter 1 of constructor in ClassA required a bean of type 'ClassB' that could not be found
단순한건데.. 오랜만에 보니 한참을 헤맸다.
JwtAccessDeniedHandler, JwtAuthenticationEntryPoint 정의부 상단에 @Component
를 추가하니 해결~
@Component
public class JwtAccessDeniedHandler implements AccessDeniedHandler {
...
}
@Component
public class JwtAuthenticationEntryPoint implements AuthenticationEntryPoint {
...
}