4

私の理解が正しければ、Spring Security を構成すると、FilterSecurityInterceptorのインスタンスが自動的に作成されました。alwaysReauthenticateプロパティをtrueに設定したいのですが、独自の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;
    }
}

次に、アプリケーション コンテキストファイルに次の 1 行を追加しました。

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

助けてくれてありがとう。

4

1 に答える 1

4

この種の問題の一般的な解決策は、BeanBeanPostProcessorの初期化をインターセプトし、FilterSecurityInterceptor必要なカスタマイズを適用する を作成することです。

于 2012-04-25T20:55:56.840 に答える