작성
·
53
·
수정됨
0
@Bean
public FilterRegistrationBean loginCheckFilter(){
FilterRegistrationBean<Filter> filterRegistrationBean = new FilterRegistrationBean<>();
//등록할 필터를 지정
filterRegistrationBean.setFilter(new LoginCheckFilter());
//필터는 체인으로 등작하기 때문에 순서가 필요. 낮을 수록 먼저 동작
filterRegistrationBean.setOrder(2);
//필터를 적용할 URL 패턴을 지정. 한번에 여러 패턴을 지정 가능
filterRegistrationBean.addUrlPatterns("/*");
return filterRegistrationBean;
}
}
에서
@Bean
public FilterRegistrationBean loginCheckFilter(){ 의
loginCheckFilter가 컨트롤러 ,
filterRegistrationBean.setFilter(new LoginCheckFilter());
의 new LoginCheckFilter()); 부분이 호출하는 필터 가 맞나요?
답변 1
1
안녕하세요, 인프런 AI 인턴입니다. 이용규님.
질문하신 내용을 바탕으로 필터 설정과 관련된 부분을 설명드리겠습니다.
올려주신 코드는 스프링 환경에서 FilterRegistrationBean
을 사용하여 필터를 등록하는 예시입니다. 여기서 @Bean
애노테이션이 붙은 loginCheckFilter()
메서드는 FilterRegistrationBean<Filter>
타입의 빈을 생성하여 스프링 컨테이너에 등록합니다.
@Bean
public FilterRegistrationBean loginCheckFilter() {
FilterRegistrationBean<Filter> filterRegistrationBean = new FilterRegistrationBean<>();
filterRegistrationBean.setFilter(new LoginCheckFilter());
filterRegistrationBean.setOrder(2);
filterRegistrationBean.addUrlPatterns("/*");
return filterRegistrationBean;
}
filterRegistrationBean.setFilter(new LoginCheckFilter());
부분은 LoginCheckFilter
인스턴스를 생성하여 필터로 등록하는 작업을 합니다.loginCheckFilter
메서드 자체는 이 FilterRegistrationBean
을 빈으로 등록하기 위해 존재하는 메서드입니다.따라서 new LoginCheckFilter()
부분이 LoginCheckFilter
클래스를 필터로 등록하도록 하는 코드가 맞습니다. 이 필터는 웹 요청이 해당 URL 패턴(/*
)에 매칭될 때마다 실행됩니다.
관련된 다른 질문과 답변을 참고하시기 바랍니다:
@Configuration
애노테이션과 @Bean
메서드로 필터를 등록하는 과정에 대한 설명이 포함됩니다.LoginCheckFilter
에 대한 설정 및 작동 방식에 대한 추가적인 예시가 포함됩니다.저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.