创建一个接受参数的 expressjs 中间件 [英] Creating a expressjs middleware that accepts parameters
本文介绍了创建一个接受参数的 expressjs 中间件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在尝试创建一个可以接受参数的中间件.这怎么办?
I am trying to create a middleware that can accept parameters. How can this be done?
示例
app.get('/hasToBeAdmin', HasRole('Admin'), function(req,res){
})
HasRole = function(role, req, res, next){
if(role != user.role){
res.redirect('/NotInRole);
}
next();
}
推荐答案
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();
})
}
这篇关于创建一个接受参数的 expressjs 中间件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文