首页 > 代码库 > 【Spring-Security】【2】DelegatingFilterProxy

【Spring-Security】【2】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,所以这个过滤器将会应用于每个请求。

【Spring-Security】【2】DelegatingFilterProxy