Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js TypeError:req.isAuthenticated不是函数_Node.js_Express_Authentication_Passport.js_Mern - Fatal编程技术网

Node.js TypeError:req.isAuthenticated不是函数

Node.js TypeError:req.isAuthenticated不是函数,node.js,express,authentication,passport.js,mern,Node.js,Express,Authentication,Passport.js,Mern,我想添加一个名为isAuth的函数,当我刷新主页时,它会抛出err TypeError:req.isAuthenticated不是一个函数 如果(!req.isAuthenticated()){ ^ TypeError:req.isAuthenticated不是函数 在isAuth(E:\My Drive\src code\node.js\Revision\regSys\routes\index.js:117:12) 在E:\My Drive\src code\node.js\Revision\

我想添加一个名为isAuth的函数,当我刷新主页时,它会抛出err TypeError:req.isAuthenticated不是一个函数

如果(!req.isAuthenticated()){ ^

TypeError:req.isAuthenticated不是函数

在isAuth(E:\My Drive\src code\node.js\Revision\regSys\routes\index.js:117:12)

在E:\My Drive\src code\node.js\Revision\regSys\node\u modules\hbs\lib\hbs.js:94:16

在E:\My Drive\src code\node.js\Revision\regSys\node\u modules\hbs\lib\hbs.js:85:9

在FSReqWrap.readFileAfterClose[as oncomplete](内部/fs/read_file_context.js:53:3)

index.js

//isAuthenticated
function isAuth(req, res, next){
  if(! req.isAuthenticated()){
    res.redirect('login')
    return;
  }
  next();
}
节点V:10.16.1


我终于明白了! 问题是我错误地调用了
isAuth()
函数 是的

这是错误的,所以它必须是

//correcting
router.get('/', isAuth,function (req, res, next) {
  res.render('index', { title: 'Home'});
});
// .........

这意味着您的
req
对象没有名为
isAuthenticated
的函数属性,调用该函数时会抛出错误。
//correcting
router.get('/', isAuth,function (req, res, next) {
  res.render('index', { title: 'Home'});
});
// .........