restful鑑權白名單匹配url
需求
在我們開發的中會遇到這樣一種情況,在鑑權的時候,需要過濾掉白名單,例如:定義有這樣一個url:good/detail/{id},需要判斷uri是否能通過,傳統的equals方法似乎有點難(PS:如果能用equals方法解決的請在評論區告訴我)
幸好spring提供了一個很好用的類,用於匹配
AntPathMatcher antPathMatcher = new AntPathMatcher();
// path路徑是否符合pattern的規範
boolean match = antPathMatcher.match("/user/*", "/user/a");
System.out.println(match);
match = antPathMatcher.match("/user/**", "/user/a/b");
System.out.println(match);
match = antPathMatcher.match("/user/{id}", "/user/1"); System.out.println(match);
match = antPathMatcher.match("/user/name", "/user/a"); System.out.println(match);
boolean pattern = antPathMatcher.isPattern("user/{id}"); System.out.println(pattern);
// 匹配是不是以path打頭的地址
boolean matchStart = antPathMatcher.matchStart("/1user/a", "/user"); System.out.println(matchStart);
// 對路徑進行合併 --> /user/a/b
String combine = antPathMatcher.combine("/user", "a/b");
System.out.println(combine);
// 找出模糊匹配中 通過*或者? 匹配上的那一段配置
String extractPathWithinPattern = antPathMatcher.extractPathWithinPattern("/user/?", "/user/1");
System.out.println(extractPathWithinPattern);
// 找出模糊匹配中 找到匹配上的項 如果匹配規則和要匹配的項規則不一致 會報錯
Map<String, String> extractUriTemplateVariables = antPathMatcher .extractUriTemplateVariables("{appName:[\\p{L}\\.]+}-sources-{version:[\\p{N}\\.]+}.jar", "demo-sources-1.0.0.jar");
if (null != extractUriTemplateVariables) {
Iterator<String> iterator = extractUriTemplateVariables.keySet().iterator();
while (iterator.hasNext()) {
String key = iterator.next();
System.out.println("extractUriTemplateVariables:" + extractUriTemplateVariables.get(key));
}
相關文章
- restful風格請求,基於token鑑權例項REST
- # RESTful登入(基於token鑑權)的設計例項REST
- RestFul Api 設計 之 URLRESTAPI
- MySQL之MGR白名單MySql
- Firewalld 白名單配置方法
- Laravel忽略白名單和黑名單Laravel
- modsecurity:規則例子:匹配url
- 關於info.plist 第三方登入 新增URL Schemes白名單Scheme
- vue元件級鑑權Vue元件
- .net core jwt 鑑權JWT
- .net core cookie 鑑權Cookie
- oracle 設定監聽白名單,並且怎麼設定白名單地址Oracle
- API 鑑權新姿勢 – 簽名鑑權API
- API 鑑權新姿勢 - 簽名鑑權API
- 在MVC中配置鑑權MVC
- RESTful在路由url有名義的寫法REST路由
- MLeakFinder使用總結及白名單
- java中url正則regex匹配Java
- 嵌入式Linux可用的防火牆——iptables:實現ip白名單、mac地址白名單Linux防火牆Mac
- 前端鑑權知識學習前端
- Egg實現JWT鑑權JWT
- ThinkJS JWT 鑑權實踐JSJWT
- Restful簡單理解REST
- 配置資料庫監聽白名單資料庫
- egg 設定跨域白名單跨域
- 繞過應用程式白名單技巧
- DevOps實踐-白名單二三事dev
- win10白名單怎麼設定_win10防火牆新增白名單的步驟Win10防火牆
- RESTFUL風格的URL請求及引數接收REST
- jwt與session的登入鑑權JWTSession
- Laravel Passport 之api登入鑑權LaravelPassportAPI
- Python_16 session、cookie 鑑權PythonSessionCookie
- 微信開發服務號鑑權
- Oracle中的鑑權口令認證Oracle
- 鑑權理論知識學習
- win10怎麼把檔案加入白名單 win10把檔案加入白名單的方法Win10
- Nginx通過geo模組設定白名單Nginx
- nginx域名訪問的白名單配置梳理Nginx