Ограничение доступа к статическим файлам группами разрешений

Я довольно новичок в веб-разработке и не могу найти лучший способ работы с обслуживанием файлов с помощью django.


Моя ситуация такова: У меня есть пользователи из разных отделов, которые могут загружать, редактировать и скачивать файлы. Пользователи должны иметь доступ к файлам других пользователей из того же отдела, но не из других. До сих пор это работало следующим образом: каждый путь к файлу записывается в базу данных, со ссылкой на то, к какому отделу он принадлежит. При запросе файла django проверяет, совпадает ли отдел пользователя с отделом файла, и отказывает в доступе, если это не так. Таким образом, это реализуется с помощью обычного представления, которое возвращает StreamingHttpResponse

После небольшого исследования выяснилось, что подача файлов таким образом не является стандартным способом, и я должен подавать их как статические файлы (с веб-сервера, а не напрямую с помощью django). Мой вопрос: могу ли я ограничить доступ к статическим файлам, или их может читать кто угодно?

Вернуться на верх