簡體   English   中英

檢查用戶是否登錄passport.js

[英]Checking whether user is logged in passport.js

我使用passport.js對用戶進行身份驗證。 我那里有2個功能,用於檢查用戶是否已登錄。 第一個功能:

isLoggedIn(req, res, next) {
        if (req.isAuthenticated()) {
            return next();
        }
        else {
            res.redirect('/');
        }
    }

第二功能:

isLoggedInCheck(req, res) {
        if (req.isAuthenticated()) {
            return true;
        }
        else {
            return false;
        }
    }

我在名為Helper的類中使用了這兩個函數。 當我使用第一個函數時(我將它作為中間件傳遞給routes函數):

var Helper = require('../helpers/helper');
var helper = new Helper();
router.get('/', helper.isLoggedIn, admin.melihat_daftar_venue);

但是當我想使用第二個功能時:

if (helper.isLoggedInCheck) {
//code
}
else{

}

該函數僅返回函數定義,而不是true / false。 如何解決。 謝謝

您正在使用isLoggedIn作為ExpressJS中間件而isLoggedInCheck內部條件,這就是為什么你需要調用函數( helper.isLoggedInCheck(req, res)內,如果條件而確定的內部get的功能

if (helper.isLoggedInCheck(req, res)) {
//code
}
else{

}

第一個是

router.get('/', helper.isLoggedIn, admin.melihat_daftar_venue);

(不推薦,僅顯示示例)

router.get('/', (req, res, next) => {
  helper.isLoggedIn(req, res, next)
}, admin.melihat_daftar_venue);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM