spring security 필터를 구성하는 도중 mvcMatchers를 사용하니 아래와 같은 에러가 발생했다.
org.springframework.web.servlet.handler.HandlerMappingIntrospe
ctor is required to use MvcRequestMatcher. Please ensure
Spring Security & Spring MVC are configured in a shared
ApplicationContext.' available
MvcRequestMatcher 를 사용하기 위해서는 HandlerMappingIntrospector 타입의 빈이 있어야 한다는 이야기 입니다.
스프링 시큐리티와 스프링 MVC를 공유하고 있는 ApplicationContext에 설정되어야 한다는 이야기 인데
그 이유는 ?
스프링 시큐리티에서 스프링 MVC의 패턴을 사용해서 mvc의 mapping 패턴과 시큐리티의 패턴을 일치시켜서 혼돈되지 않게 하기 위해서 입니다.
@Bean
public HandlerMappingIntrospector mvcHandlerMappingIntrospector(){
return new HandlerMappingIntrospector();
}
HandlerMappingIntrospector 을 빈으로 등록해주니 해결 되었습니다.