javascript - 在快速路由中使用身份验证功能

标签 javascript node.js express

我有这样的 Controller

//Get the Helpers
var authHelper = require('authHelper');

//Route
router.get('/manager', authHelper.checkPerm(req, res, next), function(req, res) {

});

我的 authHelper.js

exports.checkPerm = function(req, res, next){
  if (req.user) {
    next();
  } else {
    res.redirect('/sign-in');
  }
}

这是我遇到的错误

router.get('/manager', authHelper.checkPerm(req, res, next), function(req, res ^ ReferenceError: req is not defined

最佳答案

在传递给路由参数时,您正在执行方法checkPerm。删除括号和参数 (req, res, next)

应该是这样的:

router.get('/manager', authHelper.checkPerm, function(req, res) ...

关于javascript - 在快速路由中使用身份验证功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25443956/

相关文章:

javascript - 为什么我的清除按钮/悬停在更改颜色后不起作用?

c# - 使用 JavaScript 从 ASP.NET 代码文件调用函数

javascript - 带有转义字符的查询字符串

javascript - 使用 jquery 或 javascript 动态更改使用 Bootstrap 的选择选项?

node.js - 事件 gulp-nodemon 没有触发

node.js - 如何在nodejs中获取对一个API的所有请求的状态

javascript - 与 mongolab 的连接给出空 JSON

node.js - 自动生成 Sequelize 模型

javascript - ExpressJS 和 PDFKit - 在内存中生成 PDF 并发送给客户端下载

node.js - Facebook 看不到 Angular Universal 元标签