栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何在Spring Security中从默认过滤器堆栈中删除一个过滤器?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何在Spring Security中从默认过滤器堆栈中删除一个过滤器?

如果您提供了有关要删除的过滤器及其原因的更多详细信息,可能会有所帮助。

如果需要,可以

BeanPostProcessor
在创建过滤器链后使用a对其进行修改。在默认的名称空间配置中,可以给
<http>
元素创建的过滤器链命名:

<http name="myFilterChain">   ...

这将

SecurityFilterChain
使用该名称注册类型的Bean 。将
FilterChainProxy
可以从这些列表创建的。

后处理器看起来像:

public class SecurityFilterChainPostProcessor implements BeanPostProcessor {    public Object postProcessAfterInitialization(Object bean, String beanName) throws BeansException {        if (beanName.equals("myFilterChain")) { DefaultSecurityFilterChain fc = (DefaultSecurityFilterChain)bean; List<Filter> filters = fc.getFilters(); // Modify the filter list as you choose here.      List<Filter> newFilters = ... return new DefaultSecurityFilterChain(fc.getRequestMatcher(), newFilters);        }        return bean;    }    public Object postProcessBeforeInitialization(Object bean, String beanName) throws BeansException {        return bean;    }}

然后只需在您的应用程序上下文中注册此bean的一个实例,其余的工作将由Spring完成。这样,您可以避免将所有Spring
Security基础结构过滤器定义为单独的bean。

更新资料

这里是一个链接真实世界的例子和它的配置。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/419425.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号