2011-06-13 8 views
0

나는 몇 가지 액세스 예외를 처리하는 데에 SimpleMappingExceptionResolver와 스프링 웹 MVC 구성이 일부 인증 관련 예외를 처리합니다. 현재, 나는 다음과 같이 최대 세트 ExceptionMappingAuthenticationFailureHandler 있습니다액세스 스프링 웹 MVC 예외 리졸버는

<form-login authentication-failure-handler-ref="exceptionMapper" ... /> 

... 

<bean id="exceptionMapper" class="org.springframework.security.web.authentication.ExceptionMappingAuthenticationFailureHandler" > 
    <property name="exceptionMappings"> 
     <props> 
      <prop key=".CredentialsExpiredException">/resetPassword</prop> 
      <prop key=".BadCredentialsException">/login?failure=true</prop> 
     </props> 
    </property> 
</bean> 

나는 MVC 구성에 보안 매핑을 이동하여 하나의 예외 처리 구성에 이들을 통합하는 좋은 것이라고 생각했다. 내 문제는 Spring Security에게 form-login 님의 authentication-failure-handler에서 리졸버를 사용하기를 원한다는 것을 어떻게 알지 못한다는 것입니다.

난 그냥 authentication-failure-handler-ref는 핸들러가 아닌 확인자을 기대 SimpleMappingExceptionResolver) 1 때문에 id을 추가 할 수 있으며, 2) MVC 구성에 정의 된 모든 콩 보안 컨텍스트에서 볼 수 있도록하지 않는 것. ..

어떤 도움을 주셔서 감사합니다!

답변

0

질문 2)에 답하려면 <import resource="..."/> 태그를 사용하여 구성간에 bean 정의를 공유 할 수 있습니다.

두 클래스 모두 완전히 다른 인터페이스 (공유 인터페이스 없음)를 살펴 보았으므로 파트 1 (단일 예외 리졸버)에 얼마나 성공적 일지 확신 할 수 없습니다. 클래스 중 하나를 플랫폼으로 사용하고 다른 클래스의 기능을 플랫폼으로 구축하여 직접 롤업해야 할 수도 있습니다.