創(chuàng)新互聯(lián)www.cdcxhl.cn八線動態(tài)BGP香港云服務(wù)器提供商,新人活動買多久送多久,劃算不套路!
這篇文章主要介紹關(guān)于Spring Security過濾器鏈機(jī)制和特性的案例分析,文中介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們一定要看完!
1. 前言
過濾器作為 Spring Security 的重中之重,我們需要了解其中的機(jī)制。這樣我們才能根據(jù)業(yè)務(wù)需求的變化進(jìn)行定制。今天來探討一下 Spring Security 中的過濾器鏈機(jī)制。
2. Spring Security 過濾器鏈
客戶端(APP 和后臺管理客戶端)向應(yīng)用程序發(fā)送請求,然后應(yīng)用根據(jù)請求的 URI 的路徑來確定該請求的過濾器鏈(Filter)以及最終的具體 Servlet 控制器(Controller)。
從上圖我們可以看出 Spring Security 以一個單 Filter(FilterChainProxy) 存在于整個過濾器鏈中,而這個 FilterChainProxy
實際內(nèi)部代理著眾多的 Spring Security Filter 。這簡直就是套娃啊!
2.1 過濾器鏈的形成過程
再多說一點(diǎn) Filter 們的初始化過程,首先 Filter 們按照一定的順序被 SecurityBuilder
的實現(xiàn)來組裝為 SecurityFilterChain
,然后通過 WebSecurity
注入到 FilterChainProxy
中去,接著 FilterChainProxy
又在 WebSecurityConfiguration
中以 springSecurityFilterChain
的名稱注冊為 Spring Bean 。實際上還有一個隱藏層 DelegatingFilterProxy
代理了 springSecurityFilterChain
注入到最后整個 Servlet 過濾器鏈中。簡單畫了個圖;
★事實上 Spring Security 的內(nèi)置 Filter 對于 Spring IoC 容器來說都是不可見的。
”
Spring Security 允許有多 條過濾器鏈并行,Spring Security 的 FilterChainProxy
可以代理多條過濾器鏈并根據(jù)不同的 URI 匹配策略進(jìn)行分發(fā)。但是每個請求每次只能被分發(fā)到一條過濾器鏈。如下圖所示:
關(guān)于 Filter 的其它細(xì)節(jié)可以通過 相關(guān)文章[1] 了解。
★實際每條過濾鏈 就是一個
”SecurityFilterChain
以上是關(guān)于Spring Security過濾器鏈機(jī)制和特性的案例分析的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)-成都網(wǎng)站建設(shè)公司行業(yè)資訊頻道!
分享題目:關(guān)于SpringSecurity過濾器鏈機(jī)制和特性的案例分析-創(chuàng)新互聯(lián)
當(dāng)前網(wǎng)址:http://aaarwkj.com/article40/idhho.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)建站、關(guān)鍵詞優(yōu)化、網(wǎng)站制作、移動網(wǎng)站建設(shè)、服務(wù)器托管、標(biāo)簽優(yōu)化
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容