3 回答

TA貢獻1783條經驗 獲得超4個贊
正如您所觀察到的,Spring Boot將自動注冊Filter與servlet容器相關的任何bean 。一種選擇是不將過濾器公開為bean,只將其注冊到Spring Security。
如果您希望能夠將依賴關系自動裝入Filter,那么它需要是一個bean。這意味著您需要告訴Spring Boot不要將其注冊為過濾器。如文檔中所述,您可以使用以下命令執行此操作FilterRegistrationBean:
@Bean
public FilterRegistrationBean registration(MyFilter filter) {
FilterRegistrationBean registration = new FilterRegistrationBean(filter);
registration.setEnabled(false);
return registration;
}

TA貢獻1895條經驗 獲得超7個贊
有沒有辦法阻止Spring創建重復過濾器同時還指定過濾器順序?我們想為一個也是bean的過濾器指定setOrder。無論我們如何處理FilterRegistrationBean,自動注冊的過濾器都位于過濾器鏈的末尾附近。

TA貢獻1871條經驗 獲得超13個贊
這不是雙重注冊。通過顯式提供FilterRegistrationBean
禁用的過濾器,您將阻止Spring Boot創建一個已啟用的過濾器。
添加回答
舉報