如何使用express模块限制对node.js中许多文件夹的访问

阿克拉姆·卡马尔·卡萨斯(Akram Kamal Qassas)

我正在使用node.js并将其表示为route方法,我的路由如下所示:

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

我如何在一种方法中设置限制对“公共”和“ Web”文件夹的访问,目前我使用的是两行代码

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

checkPermissions函数应如下所示:

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');
  }
}

如果您真的想使其适合1行(取决于lodash或下划线):

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

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何访问node.js中的文件夹图像?

如何在node.js express中访问我的公用文件夹中的文件

限制Ubuntu中的文件夹访问

如何在JavaFX中使用treeview在主文件夹中创建许多文件夹?

如何通过主文件夹从许多子文件夹中抓取文件?

使用rmdir删除一个文件夹中的许多空文件夹

在express应用中,public文件夹中的javascript文件如何访问index.js下routes文件夹中编写的数据库API

将SFTP访问限制为仅可访问的根文件夹中的某些文件夹

node_modules文件夹中的许多未知模块

如何访问公用文件夹之外的js文件?

尝试访问Electron / Node.js中的父文件夹时出错

允许多个用户使用 IAM 角色访问私有 S3 文件夹

如何删除具有许多子文件夹的主文件夹中的所有文件?

如何访问private / var文件夹中的文件?

如何从Angular 2中的assets文件夹访问文件?

如何访问损坏的硬盘中的文件和文件夹?

UWP如何访问文件夹中的文件

如何从Google Cloud中的/ tmp文件夹访问文件?

如何访问主文件夹中的所有文件?

如何从 Python 中的其他文件夹访问文件?

如何使用flutter访问android中的特定文件夹?

限制Eclipse中源文件夹之间的访问

在laravel 4.2中限制对公用文件夹的访问

Node.js,需要文件夹中的所有模块并直接使用已加载的模块

访问HMVC Codeigniter中模块的子文件夹

如何使用R“读取.csv”文件夹中的许多文件?

Yii2如何访问“根”文件夹中的文件夹?

如何访问资源文件(主题文件夹中的CSS,JS文件)并从FTL获取链接?

如何在文件夹中创建ms访问的备份?