11

通常我会org.springframework.web.filter.DelegatingFilterProxy在 web.xml 中添加这样的代码段:

<filter>
    <filter-name>springSecurityFilterChain</filter-name>
    <filter-class>
        org.springframework.web.filter.DelegatingFilterProxy
    </filter-class>
</filter>
<filter-mapping>
    <filter-name>springSecurityFilterChain</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping> 

但是使用 Servlet 3.0 Container 和 Jetty,我已经删除了 web.xml。我正在尝试将 DelegatingFilterProxy 添加到 Jetty 的启动中:

context.addFilter(DelegatingFilterProxy.class, "/*", EnumSet.allOf(DispatcherType.class));

但我得到错误:

No bean named 'org.springframework.web.filter.DelegatingFilterProxy-100555887' is defined

我应该如何创建和添加这个过滤器?

4

1 回答 1

15
context.addFilter(new FilterHolder(new DelegatingFilterProxy("springSecurityFilterChain")), "/*", EnumSet.allOf(DispatcherType.class));

似乎是正确的语法。

于 2013-09-27T17:16:20.597 回答