springcloud整合gateway實現(xiàn)網(wǎng)關(guān)全局過濾器功能
springcloud整合gateway實現(xiàn)網(wǎng)關(guān)全局過濾器功能,在? ? springcloud整合gateway實現(xiàn)網(wǎng)關(guān) ??基礎功能上進行修改。
1.代碼實現(xiàn):
添加自定義全局過濾器
/** ?* 自定義一個全局過濾器 ?* 實現(xiàn) globalfilter , ordered接口 ?*/ @Component public class LoginFilter implements GlobalFilter, Ordered { ? ? /** ? ? ?* 執(zhí)行過濾器中的業(yè)務邏輯 ? ? ?* ? ? 對請求參數(shù)中的access-token進行判斷 ? ? ?* ? ? ?如果存在此參數(shù):代表已經(jīng)認證成功 ? ? ?* ? ? ?如果不存在此參數(shù) : 認證失敗. ? ? ?* ?ServerWebExchange : 相當于請求和響應的上下文(zuul中的RequestContext) ? ? ?*/ ? ? @Override ? ? public Mono<Void> filter(ServerWebExchange exchange, GatewayFilterChain chain) { ? ? ? ? System.out.println("執(zhí)行了自定義的全局過濾器"); ? ? ? ? //1.獲取請求參數(shù)access-token ? ? ? ? String token = exchange.getRequest().getQueryParams().getFirst("access-token"); ? ? ? ? //2.判斷是否存在 ? ? ? ? if(token == null) { ? ? ? ? ? ? //3.如果不存在 : 認證失敗 ? ? ? ? ? ? System.out.println("沒有登錄"); ? ? ? ? ? ? exchange.getResponse().setStatusCode(HttpStatus.UNAUTHORIZED); ? ? ? ? ? ? return exchange.getResponse().setComplete(); //請求結(jié)束 ? ? ? ? } ? ? ? ? //4.如果存在,繼續(xù)執(zhí)行 ? ? ? ? return chain.filter(exchange); //繼續(xù)向下執(zhí)行 ? ? } ? ? /** ? ? ?* 指定過濾器的執(zhí)行順序 , 返回值越小,執(zhí)行優(yōu)先級越高 ? ? ?*/ ? ? @Override ? ? public int getOrder() { ? ? ? ? return 0; ? ? } }
2.實現(xiàn)效果:
啟動nacos,再啟動項目gateway-service, gateway-client。打開瀏覽器訪問
? ?http://localhost:8001/client/index??
訪問? ?http://localhost:8001/client/index?access-token=token??
實現(xiàn)了添加token后就可以訪問。
到此這篇關(guān)于springcloud整合gateway實現(xiàn)網(wǎng)關(guān)全局過濾器功能的文章就介紹到這了,更多相關(guān)springcloud gateway網(wǎng)關(guān)全局過濾內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
java實現(xiàn)二叉樹的創(chuàng)建及5種遍歷方法(總結(jié))
下面小編就為大家?guī)硪黄猨ava實現(xiàn)二叉樹的創(chuàng)建及5種遍歷方法(總結(jié))。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-04-04詳解SpringBoot是如何整合SpringDataRedis的?
今天給大家?guī)淼氖顷P(guān)于Java的相關(guān)知識,文章圍繞著SpringBoot是如何整合SpringDataRedis展開,文中有非常詳細的介紹及代碼示例,需要的朋友可以參考下2021-06-06Mybatis基于xml配置實現(xiàn)單表的增刪改查功能
這篇文章主要介紹了Mybatis基于xml配置實現(xiàn)單表的增刪改查,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-04-04springboot的控制反轉(zhuǎn)和自動裝配示例代碼
這篇文章主要介紹了springboot的控制反轉(zhuǎn)和自動裝配的相關(guān)知識,本文通過示例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-06-06對ArrayList和LinkedList底層實現(xiàn)原理詳解
今天小編就為大家分享一篇對ArrayList和LinkedList底層實現(xiàn)原理詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-10-10詳解如何讓Spring MVC顯示自定義的404 Not Found頁面
這篇文章主要介紹了詳解如何讓Spring MVC顯示自定義的404 Not Found頁面,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-10-10