我正在尝试过滤一些URL模式以进行缓存。
我尝试的方法是将一些代码放入WebSecurityConfigurerAdapter
的实现中。
@Override
protected void configure(HttpSecurity http) throws Exception {
initSecurityConfigService();
// For cache
http.headers().defaultsDisabled()
.cacheControl()
.and().frameOptions();
securityConfigService.configure(http,this);
}
然而,这段代码会影响到整个Web应用程序。我如何将其应用于某个指定的URL
或Content-Type
,比如images
?
我已经尝试过使用RegexRequestMatcher
,但对我来说没有起作用。
// For cache
http.requestMatcher(new RegexRequestMatcher("/page/", "GET"))
.headers().defaultsDisabled()
.cacheControl()
.and().frameOptions();
我阅读了这篇文章:SpringSecurityResponseHeaders,但没有这种情况的示例。
谢谢。
P.S. 简而言之,我想针对某些URL和资源移除SpringSecurity defaults
。
多个WebSecurityConfigurerAdapters怎么样?一个适配器可以对特定的URL设置缓存控制,而另一个适配器则不会对这些URL启用缓存控制。