[英]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.