SimpleUrlAnnotationHandlerMapping 설정에 관해서
- 작성자 :
- 석*동
- 작성일 :
- 2014-02-20 17:25:03
- 조회수 :
- 949
- 구분 :
- 실행환경
- 진행상태 :
- 완료
Q
<!-- 로그인 체크가 필요한 URL과 로그인 여부를 체크해줄 인터셉터를 등록한다. -->
<bean id="selectAnnotaionMapper" class="egovframework.rte.ptl.mvc.handler.SimpleUrlAnnotationHandlerMapping">
<property name="order" value="1" />
<property name="interceptors">
<list>
<ref local="logonInterceptor" />
</list>
</property>
<property name="urls">
<set>
<value>/**/*.do</value>
</set>
</property>
</bean>
<!-- 로그인 체크 인터셉터 -->
<!-- 로그인 체크가 필요 없는 URL 리스트 -->
<bean id="logonInterceptor" class="com.insilicogen.bio.common.LogonInterceptor">
<property name="permittedURL">
<set>
<value>/common/code/menuList.do</value>
<value>/common/code/menuHiddenList.do</value>
</set>
</property>
</bean>
위와 같이 설정했습니다.
@RequestMapping(value="/common/code/getUsePageInfo.json")
이런 요청이 있을때는 실행이 안되어야 맞는것 아닌가요?
<value>/**/*.do</value> 이 부분이 확장자가 .do 인 요청에 대해서만 인터럽터를 호출하는게 아닌가 싶은데요..
위의 요청을 했을때도 인터럽터가 실행됩니다.
<bean id="selectAnnotaionMapper" class="egovframework.rte.ptl.mvc.handler.SimpleUrlAnnotationHandlerMapping">
<property name="order" value="1" />
<property name="interceptors">
<list>
<ref local="logonInterceptor" />
</list>
</property>
<property name="urls">
<set>
<value>/**/*.do</value>
</set>
</property>
</bean>
<!-- 로그인 체크 인터셉터 -->
<!-- 로그인 체크가 필요 없는 URL 리스트 -->
<bean id="logonInterceptor" class="com.insilicogen.bio.common.LogonInterceptor">
<property name="permittedURL">
<set>
<value>/common/code/menuList.do</value>
<value>/common/code/menuHiddenList.do</value>
</set>
</property>
</bean>
위와 같이 설정했습니다.
@RequestMapping(value="/common/code/getUsePageInfo.json")
이런 요청이 있을때는 실행이 안되어야 맞는것 아닌가요?
<value>/**/*.do</value> 이 부분이 확장자가 .do 인 요청에 대해서만 인터럽터를 호출하는게 아닌가 싶은데요..
위의 요청을 했을때도 인터럽터가 실행됩니다.
A
안녕하세요. 석호동님.
SimpleUrlAnnotationHandlerMapping이 상속한 DefaultAnnotationHandlerMapping의 경우에는
URL 패턴을 비교하는 기본 matcher가 AntPathMatcher로 지정되어 있습니다.
이 AntPathMatcher의 경우는 확장자를 제외한 부분에 대하여 URL 패턴을 비교하도록 되어 있습니다.
즉, 확장자 부분을 제외한 부분에 대하여 동작하도록 되어 있습니다.
이 경우는 적용하신 interceptor 상에서 확장자를 포함한 전체 URL에 대하여 처리를 하시도록 수정하셔야 할 것 같습니다.
그럼, 즐거운 하루되십시오.
감사합니다.
SimpleUrlAnnotationHandlerMapping이 상속한 DefaultAnnotationHandlerMapping의 경우에는
URL 패턴을 비교하는 기본 matcher가 AntPathMatcher로 지정되어 있습니다.
이 AntPathMatcher의 경우는 확장자를 제외한 부분에 대하여 URL 패턴을 비교하도록 되어 있습니다.
즉, 확장자 부분을 제외한 부분에 대하여 동작하도록 되어 있습니다.
이 경우는 적용하신 interceptor 상에서 확장자를 포함한 전체 URL에 대하여 처리를 하시도록 수정하셔야 할 것 같습니다.
그럼, 즐거운 하루되십시오.
감사합니다.