SpringCloud全局過慮器GlobalFilter的用法小結(jié)
使用場景
同事遇到一個很棘手的問題,他當前開發(fā)的系統(tǒng)要與別的系統(tǒng)進行對接,當前系統(tǒng)對別的系統(tǒng)進行了放行處理,但對方系統(tǒng)帶了一個和當前系統(tǒng)一樣的請求頭key ,導致對方系統(tǒng)在訪問本系統(tǒng)的時候,總是驗證不通過,同事請我?guī)兔Γ沂紫认氲降氖鞘褂萌诌^慮器將對方傳來的請求頭key對應的value置為空,后面試了其它方法都沒能解決,最后還是使用全局過慮器解決的。
事例代碼
package cn.gybank.gateway.filter;
import org.springframework.cloud.gateway.filter.GatewayFilterChain;
import org.springframework.cloud.gateway.filter.GlobalFilter;
import org.springframework.core.Ordered;
import org.springframework.http.server.reactive.ServerHttpRequest;
import org.springframework.stereotype.Component;
import org.springframework.web.server.ServerWebExchange;
import reactor.core.publisher.Mono;
@Component
public class MyGlobalFilter implements GlobalFilter, Ordered {
@Override
public Mono<Void> filter(ServerWebExchange exchange, GatewayFilterChain chain) {
ServerHttpRequest request = exchange.getRequest();
ServerHttpRequest mutableReq = request.mutate().header("Authorization","").build();
ServerWebExchange mutableExchange = exchange.mutate().request(mutableReq).build();
return chain.filter(mutableExchange);
}
@Override
public int getOrder() {
return -200;
}
}總結(jié)
全局過慮器使用非常廣泛,比如驗證是否登錄,全局性的處理,黑名單或白名單的校驗等,相信你以后一定能用得上。
到此這篇關于SpringCloud全局過慮器GlobalFilter的使用的文章就介紹到這了,更多相關SpringCloud全局過慮器內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Springboot+Shiro+Jwt實現(xiàn)權限控制的項目實踐
如今的互聯(lián)網(wǎng)已經(jīng)成為前后端分離的時代,所以本文在使用SpringBoot整合Shiro框架的時候會聯(lián)合JWT一起搭配使用,具有一定的參考價值,感興趣的可以了解一下2023-09-09
SpringBoot讀取yml文件中配置數(shù)組的2種方法
這篇文章主要介紹了SpringBoot讀取yml文件中配置數(shù)組的2種方法,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-12-12
@WebFilter在SpringBoot無效的原因分析和解決方案
使用Ruoyi的demo部署成功后,發(fā)現(xiàn)js、css等靜態(tài)文件都進入了過濾器,但是發(fā)現(xiàn)靜態(tài)文件沒有使用瀏覽器緩存,新建BrowserCacheFilter.java并增加@WebFilter處理,應用自動重啟后發(fā)現(xiàn)@WebFilter無效,所以本文給大家介紹了@WebFilter在SpringBoot無效的原因分析和解決方案2024-03-03
Mybatis逆向工程實現(xiàn)連接MySQL數(shù)據(jù)庫
本文主要介紹了Mybatis逆向工程實現(xiàn)連接MySQL數(shù)據(jù)庫,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2023-06-06
Java實現(xiàn)企業(yè)微信回調(diào)配置的詳細步驟與測試
這篇文章主要給大家介紹了關于Java實現(xiàn)企業(yè)微信回調(diào)配置的詳細步驟與測試,企業(yè)微信回調(diào)是指企業(yè)微信通過HTTP?POST請求將業(yè)務數(shù)據(jù)回調(diào)到指定的URL上,文中給出了詳細的代碼示例,需要的朋友可以參考下2023-09-09
Spring Cloud OAuth2 實現(xiàn)用戶認證及單點登錄的示例代碼
這篇文章主要介紹了Spring Cloud OAuth2 實現(xiàn)用戶認證及單點登錄的示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-10-10
Java文件操作工具類fileUtil實例【文件增刪改,復制等】
這篇文章主要介紹了Java文件操作工具類fileUtil,結(jié)合實例形式分析了java針對文件進行讀取、增加、刪除、修改、復制等操作的相關實現(xiàn)技巧,需要的朋友可以參考下2017-10-10

