使用 zuul權(quán)限校驗(yàn)

  • 全新校驗(yàn)攔截器
/**
 * 登錄過濾器
 *記得類上加Component注解
 */
@Component
public class LoginFilter extends ZuulFilter {

    /**
     * 過濾器類型代赁,前置過濾器
     */
    @Override
    public String filterType() {
        return PRE_TYPE;
    }

    /**
     * 過濾器順序坟瓢,越小越先執(zhí)行
     */
    @Override
    public int filterOrder() {
        return 4;
    }

    /**
     * 過濾器是否生效
     * 返回true代表需要權(quán)限校驗(yàn)岁诉,false代表不需要用戶校驗(yàn)即可訪問
     */
    @Override
    public boolean shouldFilter() {

        //共享RequestContext娩贷,上下文對象
        RequestContext requestContext = RequestContext.getCurrentContext();
        HttpServletRequest request = requestContext.getRequest();

        System.out.println(request.getRequestURI());
        //需要權(quán)限校驗(yàn)URL
        if ("/apigateway/order/api/v1/order/save".equalsIgnoreCase(request.getRequestURI())) {
            return true;
        } else if ("/apigateway/order/api/v1/order/list".equalsIgnoreCase(request.getRequestURI())) {
            return true;
        } else if ("/apigateway/order/api/v1/order/find".equalsIgnoreCase(request.getRequestURI())) {
            return true;
        }
        return false;
    }

    /**
     * 業(yè)務(wù)邏輯
     * 只有上面返回true的時候纬乍,才會進(jìn)入到該方法
     */
    @Override
    public Object run() throws ZuulException {

        //JWT
        RequestContext requestContext = RequestContext.getCurrentContext();
        HttpServletRequest request = requestContext.getRequest();

        //token對象,有可能在請求頭傳遞過來碱茁,也有可能是通過參數(shù)傳過來,實(shí)際開發(fā)一般都是請求頭方式
        String token = request.getHeader("token");

        if (StringUtils.isBlank((token))) {
            token = request.getParameter("token");
        }
        System.out.println("頁面?zhèn)鱽淼膖oken值為:" + token);
        //登錄校驗(yàn)邏輯  如果token為null仿贬,則直接返回客戶端纽竣,而不進(jìn)行下一步接口調(diào)用
        if (StringUtils.isBlank(token)) {
            // 過濾該請求,不對其進(jìn)行路由
            requestContext.setSendZuulResponse(false);
            //返回錯誤代碼
            requestContext.setResponseStatusCode(HttpStatus.UNAUTHORIZED.value());
        }
        return null;
    }
}
  • 關(guān)鍵說明

(1)方法說明

filterType : filter類型,分為pre茧泪、error蜓氨、post、 route

filterOrder: filter執(zhí)行順序队伟,通過數(shù)字指定穴吹,數(shù)字越小,執(zhí)行順序越先

shouldFilter: filter是否需要執(zhí)行 true執(zhí)行 false 不執(zhí)行

run : filter具體邏輯(上面為true那么這里就是具體執(zhí)行邏輯)

(2)filter類型說明

         pre: 請求執(zhí)行之前filter

         route: 處理請求嗜侮,進(jìn)行路由

         post: 請求處理完成后執(zhí)行的filter

         error: 出現(xiàn)錯誤時執(zhí)行的filter

買家登錄

GET /login/buyer

參數(shù)

openid: abc

返回

cookie里設(shè)置openid=abc

{
    code: 0,
    msg: "成功",
    data: null
}

賣家登錄

GET /login/seller

參數(shù)

openid: xyz

返回

cookie里設(shè)置token=UUID, redis設(shè)置key=UUID, value=xyz

{
    code: 0,
    msg: "成功",
    data: null
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末港令,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子锈颗,更是在濱河造成了極大的恐慌顷霹,老刑警劉巖,帶你破解...
    沈念sama閱讀 210,835評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件击吱,死亡現(xiàn)場離奇詭異淋淀,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)覆醇,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,900評論 2 383
  • 文/潘曉璐 我一進(jìn)店門朵纷,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人叫乌,你說我怎么就攤上這事柴罐』崭浚” “怎么了憨奸?”我有些...
    開封第一講書人閱讀 156,481評論 0 345
  • 文/不壞的土叔 我叫張陵,是天一觀的道長凿试。 經(jīng)常有香客問我排宰,道長,這世上最難降的妖魔是什么那婉? 我笑而不...
    開封第一講書人閱讀 56,303評論 1 282
  • 正文 為了忘掉前任板甘,我火速辦了婚禮,結(jié)果婚禮上详炬,老公的妹妹穿的比我還像新娘盐类。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,375評論 5 384
  • 文/花漫 我一把揭開白布在跳。 她就那樣靜靜地躺著枪萄,像睡著了一般。 火紅的嫁衣襯著肌膚如雪猫妙。 梳的紋絲不亂的頭發(fā)上瓷翻,一...
    開封第一講書人閱讀 49,729評論 1 289
  • 那天,我揣著相機(jī)與錄音割坠,去河邊找鬼齐帚。 笑死,一個胖子當(dāng)著我的面吹牛彼哼,可吹牛的內(nèi)容都是我干的对妄。 我是一名探鬼主播,決...
    沈念sama閱讀 38,877評論 3 404
  • 文/蒼蘭香墨 我猛地睜開眼敢朱,長吁一口氣:“原來是場噩夢啊……” “哼饥伊!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起蔫饰,我...
    開封第一講書人閱讀 37,633評論 0 266
  • 序言:老撾萬榮一對情侶失蹤琅豆,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后篓吁,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體茫因,經(jīng)...
    沈念sama閱讀 44,088評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,443評論 2 326
  • 正文 我和宋清朗相戀三年杖剪,在試婚紗的時候發(fā)現(xiàn)自己被綠了冻押。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,563評論 1 339
  • 序言:一個原本活蹦亂跳的男人離奇死亡盛嘿,死狀恐怖洛巢,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情次兆,我是刑警寧澤稿茉,帶...
    沈念sama閱讀 34,251評論 4 328
  • 正文 年R本政府宣布,位于F島的核電站芥炭,受9級特大地震影響漓库,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜园蝠,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,827評論 3 312
  • 文/蒙蒙 一渺蒿、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧彪薛,春花似錦茂装、人聲如沸怠蹂。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,712評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽褥蚯。三九已至,卻和暖如春况增,著一層夾襖步出監(jiān)牢的瞬間赞庶,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,943評論 1 264
  • 我被黑心中介騙來泰國打工澳骤, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留歧强,地道東北人。 一個月前我還...
    沈念sama閱讀 46,240評論 2 360
  • 正文 我出身青樓为肮,卻偏偏與公主長得像摊册,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子颊艳,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,435評論 2 348

推薦閱讀更多精彩內(nèi)容

  • 學(xué)習(xí)是一個深入的過程茅特,不停的反復(fù)的研究,不能浮于表面棋枕,要深入原理白修。 之前我們了解到springcloud zuul...
    二月_春風(fēng)閱讀 48,272評論 6 22
  • 前提 最近在項(xiàng)目中使用了SpringCloud,基于zuul搭建了一個提供加解密重斑、鑒權(quán)等功能的網(wǎng)關(guān)服務(wù)兵睛。鑒于之前沒...
    zhrowable閱讀 2,059評論 0 8
  • 22年12月更新:個人網(wǎng)站關(guān)停,如果仍舊對舊教程有興趣參考 Github 的markdown內(nèi)容[https://...
    tangyefei閱讀 35,165評論 22 257
  • 最近這段時間在使用Zuul窥浪,順便簡單閱讀了一下源碼祖很。本文旨在對自己閱讀到的源碼做一點(diǎn)小結(jié),以后日后回顧漾脂。不追求面面...
    蝦_米_閱讀 3,158評論 1 8
  • 今天上午我們幼兒園里去敬老院演出假颇。給那些老教師們提前過教師節(jié)。瑞峰是我們幼兒園舞蹈班的有節(jié)目骨稿。我們到了以后笨鸡,瑞峰一...
    陪寶貝成長閱讀 145評論 0 0