문제:
필터 결과와 함께 @Autowire를 활용하려는 시도 예기치 않은 필터 이중 호출이 발생했습니다. 자세히 살펴보면 필터가 Bean으로 등록될 때 Spring 컨테이너가 이러한 추가 호출을 트리거하는 것으로 나타났습니다.
이 문제를 해결하려면 다음 접근 방식 중 하나를 구현하는 것이 좋습니다.
자동 필터 비활성화 등록:
필터를 빈으로 노출하지 말고 대신 Spring Security에 수동으로 등록하세요. 이렇게 하면 Spring Boot가 자동으로 필터를 두 번 등록하는 것을 방지할 수 있습니다.
FilterRegistrationBean 사용:
필터에 종속성 주입이 필요한 경우 다음과 같이 해야 합니다. 빈으로 등록되었습니다. 그러나 자동 등록을 방지하기 위해 "enabled" 속성을 false로 설정하여 FilterRegistrationBean을 사용할 수 있습니다. 구현 예:
@Bean public FilterRegistrationBean registration(MyFilter filter) { FilterRegistrationBean<MyFilter> registration = new FilterRegistrationBean<>(filter); registration.setEnabled(false); return registration; }
위 내용은 Bean으로 등록할 때 스프링 필터가 두 번 호출되는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!