Предоставление изображений только пользователям, которые являются членами группы в узле / экспресс-API - PullRequest
0 голосов
/ 06 сентября 2018

Я много занимался поиском и изо всех сил пытаюсь найти лучший способ предоставления изображений пользователям, которые являются членами определенной группы, при этом защищая эти изображения от других пользователей / не пользователей.

Использование узла / экспресс / mongodb

Например:

User0, User1 и User2 являются членами GroupA.

GroupA - это коллекция изображений / других данных.

Пользователь 0, 1, 2 должен иметь возможность загружать изображения в эту группу, а также извлекать их, но пути к изображениям не должны быть обнародованы и / или доступны для просмотра посторонним лицам.

Я не уверен в самом эффективном способе сделать это. Моя текущая идея - сделать это так:

Пользователь0 загружает изображение в группу. Относительный путь изображения на сервере сохраняется в объекте с идентификатором в БД вместе с данными других групп.

Пользователь 0 выполняет запрос GET к серверу для этой группы данных, пользователь возвращает ответ JSON для данных групп, но вместо прямого пути к изображению получает конечную точку API для извлечения изображения. Например, '/ api /: groupid /: imgid'

Запрос к '/ api /: groupid /: imgid' подтвердит, что пользователю разрешено просматривать это изображение, и изображение отправляется обратно с использованием 'res.sendFile'

Это похоже на правильный подход? Это кажется немного громоздким / неловким для меня. Есть ли более элегантный способ сделать это?

Спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...