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 - 添加逗号JavaScript计数器

javascript - 在 PHP 生成的表中添加和访问按钮 ID

node.js - nconf不会从配置文件中删除值

express - 呈现和重用 RactiveJS 组件/模板的简洁方式

javascript - 有什么方法可以捕获缩放/刷过的 d3.js 多线图位置吗?

javascript - 如何使用 JavaScript/Jquery/Knockout JS 将数字数组绑定(bind)到范围 slider

node.js - 如何将来自容器的所有流量路由到同一个 Kubernetes pod 中的另一个容器?

windows - 让 Node 在 cygwin 中工作

node.js - 如何将 mongoDB 与 Node 一起使用

javascript - 是否有可能将已定义的函数作为参数express.post()