成人AV在线无码|婷婷五月激情色,|伊人加勒比二三四区|国产一区激情都市|亚洲AV无码电影|日av韩av无码|天堂在线亚洲Av|无码一区二区影院|成人无码毛片AV|超碰在线看中文字幕

使用egg.js中間件驗證用戶請求

中間件在計算機軟件系統(tǒng)應(yīng)用中用途非常廣泛,一般用來攔截請求,從而進行前置或者后置處理,例如安全校驗、合法請求判斷和用戶身份驗證等。本文將演示如何在egg.js框架中使用中間件來驗證用戶的請求是否正確。

中間件在計算機軟件系統(tǒng)應(yīng)用中用途非常廣泛,一般用來攔截請求,從而進行前置或者后置處理,例如安全校驗、合法請求判斷和用戶身份驗證等。本文將演示如何在egg.js框架中使用中間件來驗證用戶的請求是否正確。

編寫user方法并通過中間件驗證請求

在編寫user方法時,我們可以通過中間件來驗證請求是否合法。以下是一個示例代碼:

// app/controller/home.js
'use strict';
const { Controller }  require('egg');
class HomeController extends Controller {
  async index() {
    const { ctx }  this;
      'hi, eggjs!';
  }
  // 用戶個人中心
  async user() {
    const { ctx }  this;
      'hi, welcome user center!';
  }
}
module.exports  HomeController;

編寫check中間件

接下來,我們需要編寫一個名為check的中間件來檢查請求的合法性。以下是示例代碼:

// app/middleware/check.js
'use strict';
module.exports  options gt; {
  return async function check(ctx, next) {
    // 獲取url傳來的token參數(shù)
    const token  ;
    const sys_token  'test'; // 假設(shè)系統(tǒng)存儲的token
    // 判斷token是否合法
    if(sys_token ! token) {
        401;
      return   { code: 'error', msg: 'token無效' };
    }
    // 放行
    await next();
  }
}

引入中間件并設(shè)置路由

在路由中,我們需要引入check中間件,并使用它來驗證請求的合法性。以下是示例代碼:

// app/router.js
'use strict';
/
 * @param {} app - egg application
 */
module.exports  app gt; {
  const { router, controller }  app;
  // 中間件
  const ck  ();
  ('/index', );
  // 訪問用戶中心,中間件驗證token是否合法
  ('/userinfo', ck, );
}

現(xiàn)在,可以啟動項目并測試中間件的功能了。

啟動項目

打開命令終端,切換至項目根目錄,并執(zhí)行以下命令啟動項目:

npm run dev

驗證中間件

打開瀏覽器,在地址欄輸入以下URL進行中間件驗證的測試:

  • 錯誤的token:http://127.0.0.1:7001/userinfo?tokentt2023
  • 正確的token:http://127.0.0.1:7001/userinfo?tokentest

根據(jù)測試結(jié)果,如果token無效,則會提示"token無效";而如果token有效,則成功進入個人中心頁面。通過封裝業(yè)務(wù)邏輯成中間件的方式,可以使代碼更簡潔且具有更強的擴展性。

標(biāo)簽: