带有Express的Node.js-阻止访问某些URL

带有Express的Node.js-阻止访问某些URL,node.js,express,passport.js,Node.js,Express,Passport.js,如果我有一个id=555的web应用程序用户,我如何让他仅在以下条件下访问URL: www.example.com/users/555/home 阻止他去 www.example.com/users/554/home 等等 最好的方法是什么?我目前正在使用Passport.js进行身份验证。在Express 4中,use()可以采用路径。所以,非常松散地(可能会有错误)将其放在应用程序、get()、app.put()等之前 app.get('/users/:id/home', functio

如果我有一个id=555的web应用程序用户,我如何让他仅在以下条件下访问URL:

www.example.com/users/555/home
阻止他去

www.example.com/users/554/home
等等

最好的方法是什么?我目前正在使用Passport.js进行身份验证。

在Express 4中,use()可以采用路径。所以,非常松散地(可能会有错误)将其放在应用程序、get()、app.put()等之前

app.get('/users/:id/home', function(req, res) {
  if(req.params.id == 554) {
    res.send('Thy art not allowed!');
  }
};
与JimmyRare答案不同,这涵盖了所有HTTP动词和所有用户

添加了:我不熟悉passport.js,因此该部分需要其他人填写。Passport专家,请随意编辑此答案。

在Express 4中,use()可以采用路径。所以,非常松散地(可能会有错误)将其放在应用程序、get()、app.put()等之前

与JimmyRare答案不同,这涵盖了所有HTTP动词和所有用户

添加了:我不熟悉passport.js,因此该部分需要其他人填写。Passport专家,请随意编辑此答案。

在Express 4中,use()可以采用路径。所以,非常松散地(可能会有错误)将其放在应用程序、get()、app.put()等之前

与JimmyRare答案不同,这涵盖了所有HTTP动词和所有用户

添加了:我不熟悉passport.js,因此该部分需要其他人填写。Passport专家,请随意编辑此答案。

在Express 4中,use()可以采用路径。所以,非常松散地(可能会有错误)将其放在应用程序、get()、app.put()等之前

与JimmyRare答案不同,这涵盖了所有HTTP动词和所有用户

添加了:我不熟悉passport.js,因此该部分需要其他人填写。护照专家,请随意编辑此答案

app.use('/users/:id/:dir', function(req, res, next){
  if (checkAuth(lots of args)). // you have an id, dir, etc...
     next();  // user is o.k. to proceed
  else
     send a 400 or whatever;  and don't call next!
});