4

我想在我的 Spring Web 应用程序中添加几个过滤器,但至少现在不会有任何关于安全性的内容。所以。如果没有 spring-security,我所能做的就是在 web.xml 中定义多个过滤器(定义过滤器的旧方法)。为了能够使用 spring 过滤器链,我需要添加 spring-security 作为我的项目的依赖项,这似乎很奇怪。也许我做错了什么,确实有过滤器链可以在没有弹簧安全依赖性的情况下使用?

4

2 回答 2

3

Spring Security 能够使用 Spring Security 中包含的FilterChainProxy将多个过滤器捆绑到一个过滤器中。由于代码存在于 Spring Security 中,因此您不能在不添加对 spring-security-web 的依赖的情况下使用它,除非将代码复制粘贴到您自己的项目中(许可证可以接受)。FilterChainProxy 确实是 DelegatingFilterProxy 委托给的 Spring Bean 定义的过滤器。所以看起来像这样

DelegatingFilterProxy
  -> delegates to FilterChainProxy
     -> delegates to multiple Filter's defined on the FilterChainProxy
于 2013-11-14T18:26:11.933 回答
1

您可以使用DelegatingFilterProxy。这个Spring 论坛条目有一个很好的例子来说明如何使用它。

于 2013-11-11T14:02:46.683 回答