function HasRole(role) { return function(req, res, next) { if (role !== req.user.role) res.redirect(...); else next(); }}我还想确保我不会为同一函数制作多个副本:
function HasRole(role) { return HasRole[role] || (HasRole[role] = function(req, res, next) { if (role !== req.user.role) res.redirect(...); else next(); })}


