将Spring Security添加到使用Spring的新WebApplicationInitializer
接口(interface)而不是web.xml文件的Web应用程序的推荐方法是什么?我正在寻找的等效项:
<filter>
<filter-name>springSecurityFilterChain</filter-name>
<filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
</filter>
更新
提供的答案是合理的,但是它们都假设我有一个
servletContext
实例。我已经浏览了WebApplicationInitializer
的层次结构,除非选择覆盖Spring的初始化方法之一,否则我看不到对servlet上下文的任何访问。 AbstractDispatcherServletInitializer.registerServletFilter
似乎是明智的选择,但它并非默认设置为URL模式映射,如果有更好的方法,我不希望为所有内容更改过滤器注册。 最佳答案
这是我完成的方式:
container.addFilter("springSecurityFilterChain", new DelegatingFilterProxy("springSecurityFilterChain"))
.addMappingForUrlPatterns(null, false, "/*");
容器是
ServletContext
的实例