成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Spring Security過濾器鏈如何匹配到特定的請求

開發 架構
只有滿足了SecurityFilterChain的match方法的請求才能被該SecurityFilterChain處理,那如何配置才能讓一個SecurityFilterChain處理特定的路徑呢?

過濾器通過上一篇文章知道SecurityFilterChain決定了哪些請求經過的過濾器鏈,那么SecurityFilterChain是如何匹配到特定請求的呢?今天胖哥就來帶你揭開這個秘密,還希望各位同學能夠點贊、再看、轉發來一波。

如何攔截特定的請求

只有滿足了SecurityFilterChain的match方法的請求才能被該SecurityFilterChain處理,那如何配置才能讓一個SecurityFilterChain處理特定的路徑呢?

RequestMatcher

HttpSecurity內置了RequestMatcher屬性來處理路徑匹配問題。RequestMatcher可總結為以下幾大類:

使用Ant路徑:

 httpSecurity.antMatcher("/foo/**");

如果你配置了全局的Servlet Path的話,例如/v1,配置ant路徑的話就要/v1/foo/**,使用MVC風格可以保持一致:

 httpSecurity.mvcMatcher("/foo/**");

另外MVC風格可以自動匹配后綴,例如/foo/hello可以匹配/foo/hello.do、/foo/hello.action 等等。另外你也可以使用正則表達式來進行路徑匹配:

 httpSecurity.regexMatcher("/foo/.+");

如果上面的都滿足不了需要的話,你可以通過HttpSecurity.requestMatcher方法自定義匹配規則;如果你想匹配多個規則的話可以借助于HttpSecurity.requestMatchers方法來自由組合匹配規則,就像這樣:

    httpSecurity.requestMatchers(requestMatchers ->
requestMatchers.mvcMatchers("/foo/**")
.antMatchers("/admin/*get"));

一旦你配置了路徑匹配規則的話,你會發現默認的表單登錄404了,因為默認是/login,你加了前綴后當然訪問不到了。

使用場景

比如你后臺管理系統和前端應用各自走不同的過濾器鏈,你可以根據訪問路徑來配置各自的過濾器鏈。例如:

    /**
* Admin 過濾器鏈.
*
* @param http the http
* @return the security filter chain
* @throws Exception the exception
*/
@Bean
SecurityFilterChain adminSecurityFilterChain(HttpSecurity http) throws Exception {
http.requestMatchers(requestMatchers -> requestMatchers.mvcMatchers("/admin/**"))
//todo 其它配置
return http.build();
}

/**
* App 過濾器鏈.
*
* @param http the http
* @return the security filter chain
* @throws Exception the exception
*/
@Bean
SecurityFilterChain appSecurityFilterChain(HttpSecurity http) throws Exception {
http.requestMatchers(requestMatchers -> requestMatchers.mvcMatchers("/app/**"));
//todo 其它配置
return http.build();
}

另外也可以使用該特性降低不同規則URI之間的耦合性。

思考一下HttpSecurity這個Spring Bean為什么能夠重復使用。


責任編輯:武曉燕 來源: 碼農小胖哥
相關推薦

2022-02-21 23:58:49

Spring過濾器順序值

2022-02-10 14:54:31

Spring容器過濾器

2022-02-16 23:58:41

Spring過濾器驗證碼

2021-11-11 07:38:15

服務器過濾器框架

2024-01-05 09:04:35

隆過濾器數據結構哈希函數

2023-01-26 01:41:27

核心全局過濾器

2017-04-12 14:43:01

Spring ClouZuul過濾器

2021-07-05 15:22:03

Servlet過濾器客戶端

2009-07-08 17:33:37

Servlet過濾器

2009-06-18 10:13:00

Hibernate過濾

2009-07-08 15:30:56

Servlet過濾器

2009-07-14 09:09:08

Swing模型過濾器

2009-07-08 16:07:04

Servlet過濾器配

2009-09-29 13:55:23

Hibernate設置

2011-06-29 16:14:59

Qt 事件 過濾器

2024-11-04 08:45:48

布隆過濾器元數據指紋值

2021-01-14 08:13:39

Spring Clou應用內置過濾器

2017-05-04 22:30:17

Zuul過濾器微服務

2016-12-07 09:56:13

JavaFilter過濾器

2017-07-18 14:10:31

大數據Apache Flum過濾器
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 精品欧美在线观看 | 国产精品免费一区二区三区四区 | www4虎| 日本 欧美 三级 高清 视频 | 伊人免费在线观看 | 久久三区 | 中文字幕亚洲一区二区三区 | 亚洲免费在线视频 | 欧美日韩电影一区二区 | 亚洲精品一区二区三区 | 久久久青草 | 国产激情视频网站 | 中文字幕日韩三级 | 成人区一区二区三区 | 中文字幕欧美一区 | 国产亚洲精品精品国产亚洲综合 | 欧美日韩中文字幕在线播放 | 在线成人www免费观看视频 | 中文字幕亚洲欧美日韩在线不卡 | 成人av网页 | 高清视频一区二区三区 | 国产成人精品一区二区三 | 91亚洲精品国偷拍自产在线观看 | 91精品国产91久久综合桃花 | www.xxxx欧美| 久久精品国产精品青草 | 中文字幕亚洲一区二区三区 | 黄视频网站在线 | 青青久在线视频 | 亚洲成人精品久久 | 国产精品久久久久久久久久三级 | 国产免费观看视频 | 久久国产精品99久久久大便 | 天天操网 | 精品欧美乱码久久久久久 | 久久久久国产一区二区三区 | 在线观看国产 | 欧美日韩精品中文字幕 | www.久久精品 | 国产欧美一级二级三级在线视频 | 亚洲精品成人网 |