2012-04-25 12 views
3

私が正しく理解するならば、というインスタンスをFilterSecurityInterceptorというインスタンスが自動的に作成されました。 alwaysReauthenticateプロパティをtrueに設定したいと思いますが、自分でFilterSecurityInterceptorを作成したり、独自のカスタムフィルタチェーンを構成したりしたくありません。これを行う方法はありますか?カスタムフィルタを作成せずにFilterSecurityInterceptorのプロパティを設定する

更新日:2012年5月1日 コメントに基づいて、私は希望と同じように働いているこのコードは、思い付いたの下:

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; 
    } 
} 

その後、私のアプリケーションコンテキストファイルで、私はこれを追加クラスをアクティブにして、それを所定の場所に配線したシングルライン:

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

ありがとうございます。

答えて

4

この種の問題の典型的な解決策は、FilterSecurityInterceptor beanの初期化を傍受し、必要なカスタマイズを適用するBeanPostProcessorを作成することです。

関連する問題