【问题标题】:Set property of FilterSecurityInterceptor without creating custom filter设置 FilterSecurityInterceptor 的属性而不创建自定义过滤器
【发布时间】:2020-05-29 16:12:45
【问题描述】:

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

然后在我的 application context 文件中,我添加了这一行,它激活了类并将其连接到位:

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

感谢您的帮助。

【问题讨论】:

    标签: spring-security


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 2019-04-04
      • 1970-01-01
      • 1970-01-01
      • 2015-09-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多