Creating a expressjs middleware that accepts parameters

前端 未结 5 2108
自闭症患者
自闭症患者 2020-12-07 10:28

I am trying to create a middleware that can accept parameters. How can this be done?

example

app.get(\'/hasToBeAdmin\', HasRole(\'Admin\'), function(         


        
5条回答
  •  日久生厌
    2020-12-07 11:24

    function HasRole(role) {
      return function(req, res, next) {
        if (role !== req.user.role) res.redirect(...);
        else next();
      }
    }
    

    I also want to make sure that I don't make multiple copies of the same function:

    function HasRole(role) {
      return HasRole[role] || (HasRole[role] = function(req, res, next) {
        if (role !== req.user.role) res.redirect(...);
        else next();
      })
    }
    

提交回复
热议问题