cómo restringir el acceso a muchas carpetas en node.js usando el módulo Express

Estoy usando node.js y expreso como método de ruta, mi ruta se ve así:

Set the website routes app.use('/public', express.static('./public')); app.use('/web', express.static('./web')); 

¿Cómo puedo configurar el acceso restringido a las carpetas ‘públicas’ y ‘web’ en un método, actualmente estoy usando dos líneas, este código?

 app.get('/public*', checkPermissions, function(req,res,next){ next(); }); app.get('/web*', checkPermissions, function(req,res,next){ next(); }); 

La función checkPermissions debería verse así:

 function checkPermissions(req, res, next) { // logic to check whether user has permissions or not. // example: if (req.user.permissions == 'admin') { next(); } else { // redirect if user doesn't have permission. res.redirect('/no-permissions'); } } 

Si realmente desea hacer que encaje en 1 línea (dependiendo de lodash o guión bajo):

 _.(['/public*', '/web*']).each(function(route) { app.get(route, checkPermissions, function(req, res, next) { next(); }); });