본문 바로가기

Backend/Spring | SpringBoot

[Spring Security] 인증 후 처리 중 만난 에러

반응형

1. The request was rejected because the URL contained a potentially malicious String

Rejecting request due to: The request was rejected because the URL contained a potentially malicious String "//"

org.springframework.security.web.firewall.RequestRejectedException: The request was rejected because the URL contained a potentially malicious String "//" at org.springframework.security.web.firewall.StrictHttpFirewall.rejectedBlocklistedUrls(StrictHttpFirewall.java:535) ~[spring-security-web-6.2.1.jar:6.2.1]

 

요청 중에 //를 사용한 적이 없는데 해당 에러가 발생

➡️Controller에서 redirect하는 Url 확인 or Handler에서 사용하는 Url 확인

 

2. No matching autowired candidates found

스프링이 클래스의 의존성을 자동으로 주입(Autowire)할 수 있는 적절한 빈을 찾지 못하고 있다는 것을 의미

➡️

1. @Bean으로 수동 등록

@Bean // 생성자 주입
public AuthenticationSuccessHandler customSuccessHandler() {
  return new CustomLoginSuccessHandler();
}

 

2.  @Component로 수동 등록

// Configuration 파일
@RequiredArgsConstructor
@EnableWebSecurity
@Configuration
//@ComponentScan(basePackages = {"package1", "package2"}) // 복수 패키지 Scan
//@ComponentScan(basePackageClasses = {MyClass.class}) // 특정 클래스 Scan
@ComponentScan(basePackages = {"com.together.MunDeuk.utils"}) // 특정 패키지 Scan
public class SpringSecurityConfig extends AbstractHttpConfigurer {

  private final AuthenticationConfiguration authenticationConfiguration;

  ...
}

// Component 등록
// @Component(value = "registerName") // 특정 명칭으로 Component 등록 
@Component
@Slf4j
@RequiredArgsConstructor
public class CustomLoginSuccessHandler implements AuthenticationSuccessHandler {
  ...
}

 

반응형