我想過濾一些網址格式緩存。 我所嘗試的是將一些代碼放入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.總之,我想爲某些網址和資源刪除SpringSecurity defaults
。
也許我不明白你的問題。既然你想爲一般的請求添加緩存控制,爲什麼Spring Security會涉及這個?你可以嘗試添加一個過濾器嗎? – Simon
@Simon安全性默認設置應該適用於一般性調用,但我只希望該選項只適用於'image/*'類型。這就是爲什麼我想分開這些選項。 –
我明白這一點,但對我來說,這是非常簡單的過濾器,你可以設置一些url模式(在你的情況下圖像/ *)來過濾。您只需在響應中設置一些標題,然後設置所有內容。如果你更喜歡Spring Security,它有過濾鏈,你只需在最後一個過濾器後面添加一個過濾器並設置響應 – Simon