SpringSecurity實現(xiàn)訪問控制url匹配
一、訪問控制url匹配
在前面講解了認證中所有常用配置,主要是對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()
在之前認證過程中我們就已經(jīng)使用過anyRequest(),表示匹配所有的請求。一般情況下此方法都會使用,設(shè)置全部內(nèi)容都需要進行認證。
代碼示例:
anyRequest().authenticated();
2.antMatcher()
? 方法定義如下:
public C antMatchers(String... antPatterns)
參數(shù)是不定向參數(shù),每個參數(shù)是一個ant表達式,用于匹配URL規(guī)則。
規(guī)則如下:
? 匹配一個字符
- 匹配0個或多個字符
** 匹配0個或多個目錄
在實際項目中經(jīng)常需要放行所有靜態(tài)資源,下面演示放行js文件夾下所有腳本文件。
.antMatchers("/js/**").permitAll()還有一種配置方式是只要是.js文件都放行
antMatchers("/**/*.js").permitAll()3.regexMatchers()
3.1介紹
使用正則表達式進行匹配。和antMatchers()主要的區(qū)別就是參數(shù),antMatchers()參數(shù)是ant表達式,regexMatchers()參數(shù)是正則表達式。
演示所有以.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)文章
Java實現(xiàn)bmp和jpeg圖片格式互轉(zhuǎn)
本文主要介紹了Java實現(xiàn)bmp和jpeg圖片格式互轉(zhuǎn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-04-04
SpringBoot靜態(tài)資源CSS等修改后再運行無效的解決
這篇文章主要介紹了SpringBoot靜態(tài)資源CSS等修改后再運行無效的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-12-12
java連接postgresql數(shù)據(jù)庫代碼及maven配置方式
這篇文章主要介紹了java連接postgresql數(shù)據(jù)庫代碼及maven配置方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-09-09
SpringBoot詳細講解如何創(chuàng)建及刷新Spring容器bean
前面看spring源碼時可以發(fā)現(xiàn)refresh()方法十分重要。在這個方法中會加載beanDefinition,同時創(chuàng)建bean對象。那么在springboot中有沒有使用這個refresh()方法呢2022-06-06

