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