1.配置DelegatingFilterProxy

本文介绍了DelegatingFilterProxy作为Servlet Filter的工作原理,它主要负责将过滤任务委托给其他Filter实现。文章详细讲解了如何通过两种配置方式:传统的web.xml配置以及使用WebApplicationInitializer以Java方式配置DelegatingFilterProxy。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

DelegatingFilterProxy是一个特殊的Servlet Filter,它本身所做工作并不多,只是将工作委托给一个javax.servlet.Filter实现类。


配置方式一:在传统的web.xml中配置

<filter>
      <filter-name>springSecurityFilterChain</filter-name>
      <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
</filter>


**这里最重要的是<filter-name>springSecurityFilterChain</filter-name>,因为我们会将Spring Security配置在web安全性中,
这里会有一个名为springSecurityFilterChain的filter bean,DelegatingFilterProxy会将过滤逻辑委托给它。


配置方式二:借助WebApplicationInitializer以Java的方式来配置DelegatingFilterProxy

import org.springframework.security.web.context.AbstractSecurityWebApplicationInitializer;
public class SecurityWebInitializer extends AbstractSecurityWebApplicationInitializer {
}

AbstractSecurityWebApplicationInitializer实现了WebApplicationInitializer,因此Spring会发现并使用它在Web容器中注册DelegatingFilterProxy。
可以重载它的appendFilters()或insertFilters()方法来注册自己选择的Filter。
如果要注册DetagatingFilterProxy,则不需重载任何方法。

不管是xml还是java配置的DelegatingFilterProxy,都会拦截发往应用中的请求,并将其委托给ID为springSecurityFilterChain的bean.
<pre name="code" class="java">springSecurityFilterChain也被成为FilterChainProxy,它可以链接任意多个其他的Filter来提供不同的安全特性。
但这些对于SpringSecurity用户来说都是透明的。




评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值