有没有办法使用没有弹簧安全的弹簧过滤链?

时间:2013-11-11 13:43:25

标签: java spring spring-mvc spring-security servlet-filters

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

2 个答案:

答案 0 :(得分:3)

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

DelegatingFilterProxy
  -> delegates to FilterChainProxy
     -> delegates to multiple Filter's defined on the FilterChainProxy

答案 1 :(得分:1)

您可以使用DelegatingFilterProxy。这个Spring Forum Entry就是如何使用它的一个很好的例子。