SpringSecurity實現(xiàn)訪問控制url匹配
一、訪問控制url匹配
在前面講解了認(rèn)證中所有常用配置,主要是對http.formLogin()進行操作。而在配置類中 http.authorizeRequests()主要是對url進行控制,也就是我們所說的授權(quán)(訪問控制)。http.authorizeRequests()也支持連綴寫法,總體公式為:
url匹配規(guī)則.權(quán)限控制方法
通過上面的公式可以有很多url匹配規(guī)則和很多權(quán)限控制方法。這些內(nèi)容進行各種組合就形成了Spring Security中的授權(quán)。
在所有匹配規(guī)則中取所有規(guī)則的交集。配置順序影響了之后授權(quán)效果,越是具體的應(yīng)該放在前面,越是籠統(tǒng)的應(yīng)該放到后面。
1.anyRequest()
在之前認(rèn)證過程中我們就已經(jīng)使用過anyRequest(),表示匹配所有的請求。一般情況下此方法都會使用,設(shè)置全部內(nèi)容都需要進行認(rèn)證。
代碼示例:
anyRequest().authenticated();
2.antMatcher()
? 方法定義如下:
public C antMatchers(String... antPatterns)
參數(shù)是不定向參數(shù),每個參數(shù)是一個ant表達(dá)式,用于匹配URL規(guī)則。
規(guī)則如下:
? 匹配一個字符
- 匹配0個或多個字符
** 匹配0個或多個目錄
在實際項目中經(jīng)常需要放行所有靜態(tài)資源,下面演示放行js文件夾下所有腳本文件。
.antMatchers("/js/**").permitAll()還有一種配置方式是只要是.js文件都放行
antMatchers("/**/*.js").permitAll()3.regexMatchers()
3.1介紹
使用正則表達(dá)式進行匹配。和antMatchers()主要的區(qū)別就是參數(shù),antMatchers()參數(shù)是ant表達(dá)式,regexMatchers()參數(shù)是正則表達(dá)式。
演示所有以.js結(jié)尾的文件都被放行。
.regexMatchers(".+[.]js").permitAll()3.2兩個參數(shù)時使用方式
無論是antMatchers()還是regexMatchers()都具有兩個參數(shù)的方法,其中第一個參數(shù)都是HttpMethod,表示請求方式,當(dāng)設(shè)置了HttpMethod后表示只有設(shè)定的特定的請求方式才執(zhí)行對應(yīng)的權(quán)限設(shè)置。
枚舉類型HttpMethod內(nèi)置屬性如下:

到此這篇關(guān)于SpringSecurity實現(xiàn)訪問控制url匹配的文章就介紹到這了,更多相關(guān)SpringSecurity實現(xiàn)訪問控制url匹配內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
SpringBoot整合EasyExcel實現(xiàn)導(dǎo)入導(dǎo)出數(shù)據(jù)
這篇文章主要為大家詳細(xì)介紹了如何使用Vue、SpringBoot和EasyExcel實現(xiàn)導(dǎo)入導(dǎo)出數(shù)據(jù)功能,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2022-05-05
SpringMVC參數(shù)的傳遞之如何接收List數(shù)組類型的數(shù)據(jù)
這篇文章主要介紹了SpringMVC參數(shù)的傳遞之如何接收List數(shù)組類型的數(shù)據(jù),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-10-10
Java中的ThreadLocal與ThreadLocalMap詳解
這篇文章主要介紹了Java中的ThreadLocal與ThreadLocalMap詳解,ThreadLocal 是一個線程局部變量,其實的功用非常簡單,就是為每一個使用該變量的線程都提供一個變量值的副本,是Java中一種較為特殊的線程綁定機制,需要的朋友可以參考下2023-09-09

