仅向节点/ Express API中的组成员的用户提供图像

时间:2018-09-06 04:46:57

标签: javascript node.js mongodb express backend

我已经进行了很多搜索,并且正在努力寻找向特定组成员提供图像的最佳方法,同时还要保护这些图像免受其他用户/非用户的侵害。

使用node / express / mongodb

例如:

User0,User1和User2是GroupA的成员。

GroupA是图像/其他数据的集合。

User0、1、2应该能够将图像上传到该组,并且还可以获取它们,但是不应公开图像的路径和/或使外部人无法看到它们。

我不确定执行此操作的最有效方法。我目前的想法是这样做的:

User0将图像上传到组。服务器上图像的相对路径与其他组数据一起保存在DB中具有ID的对象中。

User0向服务器发出该组数据的GET请求,用户获取组数据的JSON响应,但获取API端点以获取图像,而不是直接访问图像。例如'/ api /:groupid /:imgid'

对'/ api /:groupid /:imgimg'的请求将验证是否允许用户查看该图像,并使用'res.sendFile'将图像发送回

这似乎是正确的方法吗?我感觉有点笨拙/尴尬。有没有更优雅的方式做到这一点?

谢谢!

0 个答案:

没有答案