您将如何处理 Node.js 数据库中的访问授权和访问限制?

How would you approach Node.js access authorization and restriction of the access in the database?

我找了很多关于如何建立用户权限的文章,但我还是不明白如何限制某个用户只能访问自己的文件?专业人士如何处理这种访问控制?用户数据是否在用户编号的数组中,通过该编号的认证用户可以访问?

你能推荐它的任何来源、教程或文献吗?也许你必须为日记之类的东西构建一个 API?具体是怎么知道这个过程的?

非常感谢您的提前提示。

干杯,

GT

PS。如果您不知道 Node.js 但 PHP 或其他,了解更多有关授权的理论也会有所帮助。

如果您试图限制用户访问他们 "own" 的内容,那么一个简单的方法是在每个受保护的记录上存储一个用户 id/document。然后,在您的 api routes/controllers 中,您可以向查找调用添加一个过滤器,以按当前用户的 ID 进行过滤。我不了解您的确切设置,因此避免了具体细节。

例如,日记条目路线可能类似于:

app.get('/diary-entry', function(req, res, next) {
  DiaryEntry.find({ user: req.user._id }, function(err, entries) {
    if(err) return next(err);
    red.send(entries);
  });
});