2013-09-27 140 views
9

Thông thường tôi sẽ có thêm org.springframework.web.filter.DelegatingFilterProxy với một đoạn như thế này để web.xml:Jetty addFilter với Xuân An và không 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> 

Nhưng với Servlet 3.0 container và Jetty, tôi đã gỡ bỏ trang web. xml. Tôi đang cố gắng để thêm DelegatingFilterProxy để ra mắt Jetty với:

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

nhưng tôi nhận được lỗi:

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

Làm sao tôi phải tạo ra và thêm bộ lọc này?

Trả lời

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

có vẻ là cú pháp chính xác.