从Express'all()中排除特定路径

时间:2014-02-12 09:41:10

标签: express

我正在使用以下内容检查对服务器的每个请求的权限:

 app.all('*',users.authCheck);

但是,我希望针对一个特定请求禁用此功能,即登录路由:

app.post('/users/login', users.login);

我知道我可以将所有路线移到另一个目录并更改为app.all('foobar/*',users.authCheck);

但是,我宁愿排除一条路线。

这可能吗?

1 个答案:

答案 0 :(得分:2)

您只需在路线中添加一个if:

// Somewhere in your app
users.authCheck = function(req, res, next) {
  if (req.url === '/users/login') {
    return;
  }
};

这不是最好的解决方案,但是现在会帮助你。