如果我理解正确,当我配置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;
    }
}


然后,在我的应用程序上下文文件中,添加了这一行,从而激活了该类并将其连接到位:

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


谢谢您的帮助。

最佳答案

解决此类问题的典型解决方案是创建一个BeanPostProcessor,它将拦截FilterSecurityInterceptor bean的初始化并对其进行必要的自定义。

关于spring-security - 设置FilterSecurityInterceptor的属性而不创建自定义过滤器,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10322026/

10-09 05:54
查看更多