没有web.xml的Spring Security


问题内容

将Spring
Security添加到使用Spring的新WebApplicationInitializer界面而不是web.xml文件的Web应用程序的推荐方法是什么?我正在寻找的等效项:

<filter>
    <filter-name>springSecurityFilterChain</filter-name>
    <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
</filter>

更新
提供的答案是合理的,但它们都假设我有一个servletContext实例。我已经浏览了WebApplicationInitializers
的层次结构,除非选择覆盖Spring的初始化方法之一,否则我看不到对servlet上下文的任何访问。
AbstractDispatcherServletInitializer.registerServletFilter似乎是明智的选择,但它并非默认设置为URL模式映射,如果有更好的方法,我不希望更改所有内容的过滤器注册。


问题答案:

这是我完成的方式:

container.addFilter("springSecurityFilterChain", new DelegatingFilterProxy("springSecurityFilterChain"))
                    .addMappingForUrlPatterns(null, false, "/*");

容器是的实例 ServletContext