Я много занимался поиском и изо всех сил пытаюсь найти лучший способ предоставления изображений пользователям, которые являются членами определенной группы, при этом защищая эти изображения от других пользователей / не пользователей.
Использование узла / экспресс / mongodb
Например:
User0, User1 и User2 являются членами GroupA.
GroupA - это коллекция изображений / других данных.
Пользователь 0, 1, 2 должен иметь возможность загружать изображения в эту группу, а также извлекать их, но пути к изображениям не должны быть обнародованы и / или доступны для просмотра посторонним лицам.
Я не уверен в самом эффективном способе сделать это. Моя текущая идея - сделать это так:
Пользователь0 загружает изображение в группу. Относительный путь изображения на сервере сохраняется в объекте с идентификатором в БД вместе с данными других групп.
Пользователь 0 выполняет запрос GET к серверу для этой группы данных, пользователь возвращает ответ JSON для данных групп, но вместо прямого пути к изображению получает конечную точку API для извлечения изображения. Например, '/ api /: groupid /: imgid'
Запрос к '/ api /: groupid /: imgid' подтвердит, что пользователю разрешено просматривать это изображение, и изображение отправляется обратно с использованием 'res.sendFile'
Это похоже на правильный подход? Это кажется немного громоздким / неловким для меня. Есть ли более элегантный способ сделать это?
Спасибо!