2012-04-25 4 views
3

올바르게 이해하면, 스프링 보안을 구성 할 때 의 인스턴스가 FilterSecurityInterceptor이 자동으로 작성되었습니다. alwaysReauthenticate 속성을 true으로 설정하고 싶지만 내 자신의 FilterSecurityInterceptor을 만들거나 내 자신의 사용자 지정 필터 체인을 구성하고 싶지 않습니다. 이것을 할 수있는 방법이 있습니까?사용자 정의 필터를 작성하지 않고 FilterSecurityInterceptor의 특성을 설정하십시오.

업데이트 : 내 응용 프로그램 컨텍스트 파일에서 다음

public class ForceAuthCheckinator implements BeanPostProcessor { 
    @Override 
    public Object postProcessBeforeInitialization(Object bean, String beanName) throws BeansException { 
     return bean; 
    } 

    @Override 
    public Object postProcessAfterInitialization(Object bean, String beanName) throws BeansException { 
     if (beanName.contains("FilterSecurityInterceptor")) { 
      ((FilterSecurityInterceptor bean).setAlwaysReauthenticate(true); 
     } 
     return bean; 
    } 
} 

나는이 추가 : 2012년 5월 1일 주석을 바탕으로이 난 그냥 원하는대로 작동이 코드를 내놓았다 이하 클래스를 활성화하고 장소에 배선 한 단일 선 :

<bean class="com.mydomain.ForceAuthCheckinator"/> 

도움 주셔서 감사합니다.

답변

4

이런 종류의 문제에 대한 일반적인 해결책은 FilterSecurityInterceptor 빈의 초기화를 가로 채고 필요한 사용자 정의를 적용하는 것입니다.

관련 문제