Loading...
Spring Framework Reference Documentation 7.0.2의 Interceptors의 한국어 번역본입니다.
아래의 경우에 피드백에서 신고해주신다면 반영하겠습니다.
감사합니다 :)
다음 예제에서 보이는 것처럼, 들어오는 요청에 적용할 인터셉터를 등록할 수 있습니다:
1@Configuration 2public class WebConfiguration implements WebMvcConfigurer { 3 4 @Override 5 public void addInterceptors(InterceptorRegistry registry) { 6 registry.addInterceptor(new LocaleChangeInterceptor()); 7 } 8}
1@Configuration 2class WebConfiguration : WebMvcConfigurer { 3 4 override fun addInterceptors(registry: InterceptorRegistry) { 5 registry.addInterceptor(LocaleChangeInterceptor()) 6 registry.addInterceptor(UserRoleAuthorizationInterceptor()) 7 .addPathPatterns("/**") 8 .excludePathPatterns("/admin/**") 9 } 10}
1<mvc:interceptors> 2 <bean class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor"/> 3 <mvc:interceptor> 4 <mvc:mapping path="/**"/> 5 <mvc:exclude-mapping path="/admin/**"/> 6 <bean class="org.springframework.web.servlet.handler.UserRoleAuthorizationInterceptor"> 7 <property name="authorizedRoles" value="ROLE_USER"/> 8 </bean> 9 </mvc:interceptor> 10</mvc:interceptors>
Interceptor는 어노테이션이 적용된 컨트롤러 경로 매칭과의 불일치 가능성 때문에<br>보안 레이어로 사용하기에 이상적이지 않습니다. 일반적으로 Spring<br>Security 사용을 권장하며, 또는 대안으로 Servlet 필터 체인과 통합된 유사한 접근 방식을<br>가능한 한 이른 시점에 적용하는 것을 권장합니다.
XML 설정은 interceptor를
MappedInterceptor빈으로 선언하며, 이는<br>다른 프레임워크의 것을 포함하여 모든HandlerMapping빈에 의해 감지됩니다.<br>반대로 Java 설정은 interceptor를 자신이 관리하는HandlerMapping빈에만 전달합니다.<br>MVC Java 설정과 다른 프레임워크의HandlerMapping<br>빈 전반에서 동일한 interceptor를 재사용하려면,MappedInterceptor빈을 선언하고 (그리고<br>Java 설정에서 수동으로 추가하지 않거나), Java 설정과 다른HandlerMapping빈<br>둘 다에 동일한 interceptor를 설정하십시오.
Validation
Content Types