DelegatingFilterProxy
- Spring Security 对我们应用的影响是通过一系列的 ServletRequest 过滤器实现的。
- Spring Security 使用了 o.s.web.filter.DelegatingFilterProxy 这个 servlet 过滤器来包装所有的应用请求,从而保证它们是安全的。
- DelegatingFilterProxy 实际上是 Spring 框架提供的,而不是安全特有的。这个过滤器一般在Spring 构建的 web 应用工程中使用,并将依赖于 servlet 过滤器的 Spring Bean 与 Servle 过滤器的生命周期结合起来。
通过在 web.xml 部署描述文件中添加如下的代码,就可以配置这样一个过滤器。这段代码位于 Spring MVC 的<servlet-mapping>之后:
1 <filter> 2 <filter-name>springSecurityFilterChain</filter-name> 3 <filterclass> 4 org.springframework.web.filter.DelegatingFilterProxy 5 </filter-class> 6 </filter> 7 <filter-mapping> 8 <filter-name>springSecurityFilterChain</filter-name> 9 <url-pattern>/*</url-pattern> 10 </filter-mapping>
我们所做的是使用一个 ServletRequest 过滤器并将它配置成处理匹配给定 URL 模式(/*)的请求。因为我们配置的这个通配符模式匹配所有的URL,所以这个过滤器将会应用于每个请求。