久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術文章
文章詳情頁

全面解析Spring Security 過濾器鏈的機制和特性

瀏覽:29日期:2023-08-29 09:01:36

1. 前言

過濾器作為 Spring Security 的重中之重,我們需要了解其中的機制。這樣我們才能根據業務需求的變化進行定制。今天來探討一下 Spring Security 中的過濾器鏈機制。

2. Spring Security 過濾器鏈

客戶端(APP 和后臺管理客戶端)向應用程序發送請求,然后應用根據請求的 URI 的路徑來確定該請求的過濾器鏈(Filter)以及最終的具體 Servlet 控制器(Controller)。

全面解析Spring Security 過濾器鏈的機制和特性

從上圖我們可以看出 Spring Security 以一個單 Filter(FilterChainProxy) 存在于整個過濾器鏈中,而這個 FilterChainProxy 實際內部代理著眾多的 Spring Security Filter 。這簡直就是套娃啊!

2.1 過濾器鏈的形成過程

再多說一點 Filter 們的初始化過程,首先 Filter 們按照一定的順序被 SecurityBuilder 的實現來組裝為 SecurityFilterChain ,然后通過 WebSecurity 注入到 FilterChainProxy 中去,接著 FilterChainProxy 又在 WebSecurityConfiguration 中以 springSecurityFilterChain 的名稱注冊為 Spring Bean 。實際上還有一個隱藏層 DelegatingFilterProxy 代理了 springSecurityFilterChain 注入到最后整個 Servlet 過濾器鏈中。簡單畫了個圖;

全面解析Spring Security 過濾器鏈的機制和特性

事實上 Spring Security 的內置 Filter 對于 Spring IoC 容器來說都是不可見的。

Spring Security 允許有多 條過濾器鏈并行,Spring Security 的 FilterChainProxy 可以代理多條過濾器鏈并根據不同的 URI 匹配策略進行分發。但是每個請求每次只能被分發到一條過濾器鏈。如下圖所示:

全面解析Spring Security 過濾器鏈的機制和特性

關于 Filter 的其它細節可以通過 相關文章[1] 了解。

實際每條過濾鏈 就是一個 SecurityFilterChain

4. 總結

今天我們通過對 Spring Security 中 過濾器鏈機制,對于深入學習 Spring Security 有著至關重要的意義。有什么問題和心得請留言反饋。

參考資料

相關文章: https://www.felord.cn/spring-security-filters.html

到此這篇關于Spring Security 過濾器鏈的機制和特性的文章就介紹到這了,更多相關Spring Security 過濾器鏈內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Spring
相關文章:
主站蜘蛛池模板: 湛江市| 措美县| 恭城| 安龙县| 汉寿县| 越西县| 景泰县| 平陆县| 高邮市| 兰西县| 乌拉特后旗| 昌平区| 喀喇| 长顺县| 新干县| 奎屯市| 丰都县| 襄汾县| 洪湖市| 房产| 九江县| 庆城县| 通辽市| 锡林郭勒盟| 垣曲县| 齐齐哈尔市| 常山县| 故城县| 三江| 象州县| 北碚区| 海阳市| 资溪县| 铜山县| 微山县| 额敏县| 广饶县| 射洪县| 新干县| 雷州市| 永登县|