3 回答

TA貢獻(xiàn)1783條經(jīng)驗(yàn) 獲得超5個(gè)贊
正如您所觀察到的,Spring Boot將自動(dòng)注冊(cè)Filter與servlet容器相關(guān)的任何bean 。一種選擇是不將過濾器公開為bean,只將其注冊(cè)到Spring Security。
如果您希望能夠?qū)⒁蕾囮P(guān)系自動(dòng)裝入Filter,那么它需要是一個(gè)bean。這意味著您需要告訴Spring Boot不要將其注冊(cè)為過濾器。如文檔中所述,您可以使用以下命令執(zhí)行此操作FilterRegistrationBean:
@Bean
public FilterRegistrationBean registration(MyFilter filter) {
FilterRegistrationBean registration = new FilterRegistrationBean(filter);
registration.setEnabled(false);
return registration;
}

TA貢獻(xiàn)1895條經(jīng)驗(yàn) 獲得超7個(gè)贊
有沒有辦法阻止Spring創(chuàng)建重復(fù)過濾器同時(shí)還指定過濾器順序?我們想為一個(gè)也是bean的過濾器指定setOrder。無論我們?nèi)绾翁幚鞦ilterRegistrationBean,自動(dòng)注冊(cè)的過濾器都位于過濾器鏈的末尾附近。

TA貢獻(xiàn)1871條經(jīng)驗(yàn) 獲得超13個(gè)贊
這不是雙重注冊(cè)。通過顯式提供FilterRegistrationBean
禁用的過濾器,您將阻止Spring Boot創(chuàng)建一個(gè)已啟用的過濾器。
添加回答
舉報(bào)