最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

node.js制作一個(gè)簡(jiǎn)單的登錄攔截器

 更新時(shí)間:2020年02月10日 08:41:43   作者:一介布衣  
本文給大家分享的是使用node.js制作一個(gè)簡(jiǎn)單的登錄攔截的思路及代碼,有需要的小伙伴可以參考下

攔截器在web開發(fā)中隨處可見,比如站點(diǎn)的管理后臺(tái),不說所有人都能進(jìn)入,所以就需要做一個(gè)攔截器并友好的跳轉(zhuǎn)到提示頁.

下面我們簡(jiǎn)單實(shí)現(xiàn)一種,判斷用戶是否登錄成功,登錄不成功的用戶自動(dòng)重定向到登錄頁面.

首先我們實(shí)現(xiàn)一個(gè)過濾器

exports.checkAuth=function(req, res, next) {
  var token = req.signedCookies.token;
  if (token && req.session.user && req.session.user.token === token)
    next();
  else if (token) {
    //if invalid token or no session, should rebuild
    var authInfo = user.getAuthInfo(token);
    if (authInfo && authInfo.isAuth) {
      req.session.user = {
        userID: authInfo.userID,
        userName: authInfo.userName,
        isAuth: authInfo.isAuth,
        token: token
      }
      next();

    } else
      res.redirect('/user/login');
  } else
    res.redirect('/user/login');
}


然后定義路由,并加入過濾器

module.exports = function (app) {
  app.get('/user/blogList',pageAdmin.checkAuth, pageAdmin.pageList);
  app.all('/user/post',pageAdmin.checkAuth, pageAdmin.pagePost);
}

上面的路由定義接收3個(gè)參數(shù),第一個(gè)是 請(qǐng)求的url路徑,第二個(gè)是過濾器,如果滿足過濾器將下一步進(jìn)入路由處理函數(shù),如果不滿足將不會(huì)走到后面的路由定義函數(shù)里.

相關(guān)文章

  • nodejs的http和https下載遠(yuǎn)程資源post數(shù)據(jù)實(shí)例

    nodejs的http和https下載遠(yuǎn)程資源post數(shù)據(jù)實(shí)例

    這篇文章主要為大家介紹了nodejs的http和https下載遠(yuǎn)程資源post數(shù)據(jù)實(shí)例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-09-09
  • Node.js模塊化的使用詳細(xì)介紹

    Node.js模塊化的使用詳細(xì)介紹

    nodejs中的模塊化是指將每個(gè)js文件會(huì)被認(rèn)為單獨(dú)一個(gè)的模塊。模塊之間是互相不可見的。如果一個(gè)模塊需要使用另一個(gè)模塊,那么需要通過指定語法來引入要使用的模塊,而且只能使用引入模塊所暴露的內(nèi)容
    2022-08-08
  • Node.js進(jìn)階之核心模塊https入門

    Node.js進(jìn)階之核心模塊https入門

    在nodejs中,提供了 https 這個(gè)模塊來完成 HTTPS 相關(guān)功能。這篇文章主要介紹了Node.js進(jìn)階之核心模塊https入門,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-05-05
  • NodeJs項(xiàng)目中關(guān)閉ESLint的方法

    NodeJs項(xiàng)目中關(guān)閉ESLint的方法

    ESLint是一個(gè)用來識(shí)別 ECMAScript 并且按照規(guī)則給出報(bào)告的代碼檢測(cè)工具,使用它可以避免低級(jí)錯(cuò)誤和統(tǒng)一代碼的風(fēng)格。這篇文章主要介紹了NodeJs項(xiàng)目中關(guān)閉ESLint的方法,需要的朋友可以參考下
    2018-08-08
  • Express URL跳轉(zhuǎn)(重定向)的實(shí)現(xiàn)方法

    Express URL跳轉(zhuǎn)(重定向)的實(shí)現(xiàn)方法

    Express是一個(gè)基于Node.js實(shí)現(xiàn)的Web框架,其響應(yīng)HTTP請(qǐng)求的response對(duì)象中有兩個(gè)用于URL跳轉(zhuǎn)方法res.location()和res.redirect(),使用它們可以實(shí)現(xiàn)URL的301或302重定向。
    2017-04-04
  • 前端常見面試題之a(chǎn)sync/await和promise的區(qū)別

    前端常見面試題之a(chǎn)sync/await和promise的區(qū)別

    async/await是異步代碼的新方式,以前的方法有回調(diào)函數(shù)和Promise,下面這篇文章主要給大家介紹了關(guān)于前端常見面試題之a(chǎn)sync/await和promise區(qū)別的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-07-07
  • Koa 中的錯(cuò)誤處理解析

    Koa 中的錯(cuò)誤處理解析

    這篇文章主要介紹了Koa 中的錯(cuò)誤處理解析,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2019-04-04
  • node.js中的http.response.getHeader方法使用說明

    node.js中的http.response.getHeader方法使用說明

    這篇文章主要介紹了node.js中的http.response.getHeader方法使用說明,本文介紹了http.response.getHeader的方法說明、語法、接收參數(shù)、使用實(shí)例和實(shí)現(xiàn)源碼,需要的朋友可以參考下
    2014-12-12
  • 詳解Node.js amqplib 連接 Rabbit MQ最佳實(shí)踐

    詳解Node.js amqplib 連接 Rabbit MQ最佳實(shí)踐

    這篇文章主要介紹了詳解Node.js amqplib 連接 Rabbit MQ最佳實(shí)踐,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2019-01-01
  • Node.js操作MongoDB數(shù)據(jù)庫實(shí)例分析

    Node.js操作MongoDB數(shù)據(jù)庫實(shí)例分析

    這篇文章主要介紹了Node.js操作MongoDB數(shù)據(jù)庫,結(jié)合實(shí)例形式分析了node.js連接MongoDB數(shù)據(jù)庫以及增刪改查等相關(guān)操作技巧,需要的朋友可以參考下
    2020-01-01

最新評(píng)論

马关县| 延吉市| 泗洪县| 将乐县| 资溪县| 西充县| 通海县| 北碚区| 海盐县| 饶河县| 获嘉县| 仁怀市| 定安县| 大埔县| 涡阳县| 迁西县| 洛南县| 云安县| 股票| 容城县| 客服| 湘阴县| 绥芬河市| 牡丹江市| 迁西县| 荆州市| 工布江达县| 榕江县| 阿城市| 邮箱| 酒泉市| 莱芜市| 孟连| 巴南区| 加查县| 崇义县| 星子县| 高邑县| 乌鲁木齐县| 阳原县| 尼木县|