我已经进行了很多搜索,并且正在努力寻找向特定组成员提供图像的最佳方法,同时还要保护这些图像免受其他用户/非用户的侵害。
使用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'将图像发送回
这似乎是正确的方法吗?我感觉有点笨拙/尴尬。有没有更优雅的方式做到这一点?
谢谢!