2
我試圖調整我的應用程序配置以設置ETag支持。在Spring Boot MVC中添加ShallowEtagHeaderFilter
我剛纔檢查this SO問題,所以讓我說在我的代碼是從它不同:
- 我不使用任何XML配置文件任何責任。
- 我對系統的每個方面使用不同的配置類。我
WebConfig
看起來是這樣的:
@Configuration
@EnableAutoConfiguration
@ComponentScan(basePackages = { "xxx", "yyy" })
public class WebConfig extends WebMvcConfigurerAdapter {
@Bean
public Filter shallowETagHeaderFilter() {
return new ShallowEtagHeaderFilter();
}
...
}
- 我的SecurityConfig如下:
- 我也有一個初始化類,它是空的:
@Configuration
@EnableWebSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter {
...
@Override
protected void configure(final HttpSecurity http) throws Exception {
http.sessionManagement().sessionCreationPolicy(SessionCreationPolicy.STATELESS)
.and().exceptionHandling()
.authenticationEntryPoint(authenticationEntryPoint())
.and().authorizeRequests()
.antMatchers(HttpMethod.GET, "/**").authenticated()
.antMatchers(HttpMethod.POST, "/**").authenticated()
.antMatchers(HttpMethod.HEAD, "/**").authenticated()
.and().csrf().disable()
.addFilterBefore(authenticationTokenProcessingFilter(), UsernamePasswordAuthenticationFilter.class);
}
}
@Order(value=1)
public class SecurityWebAppInitializer extends AbstractSecurityWebApplicationInitializer {
}
我沒有看到任何地方ShallowEtagHeaderFilter
被添加到默認鏈或任何東西,我怎麼能在這個設置中使用它?
而你的問題是/? Spring Boot應該自動添加過濾器。您的初始化程序不被使用,因此不會執行也不會添加任何內容。 Spring Boot已經被Spring Boot啓用,所以你不需要'@ EnableWebSecurity'。 – 2014-11-04 21:45:17
嗯,在這種情況下它不會自動設置它。我如何修改我的初始化程序以啓動ShallowEtagHeaderFilter? – resilva87 2014-11-04 21:47:51
你不能像初始化器在Spring Boot應用程序中沒有做任何事情。 – 2014-11-04 21:48:54