目標:#
我這裡想要在 filter 修改前端發送過來的 request,因此一開始直接繼承了一個 WebSecurityConfigurerAdapter 並重寫了 configure 方法添加了一個自定義過濾器,但是始終無法進入該自定義過濾器。
分析:#
首先我們配置了一個資源伺服器
其次,我們配置了一個 WebSecurityConfigurerAdapter
運行資源伺服器後會進入以下程式碼端
對應的 configurers 的值為
可以看到 configurers 會包含兩個值分別調用資源伺服器配置以及自定義的 WebSecurityConfigurerAdapter 配置。然後,兩者都會進入到 WebSecurityConfigurerAdapter 類中執行以下程式碼段
可以看到這裡都新建了一個 HttpSecurity 物件,並在後續為對應的 HttpSecurity 物件添加過濾器。從這裡就可以知道兩個配置添加的過濾器是互不影響的。
最終產生兩條 filterChain,最終只執行第一條(因為兩條都是匹配 anyRequest,所以先執行第一條?)