Создание файла cookie сеанса при входе пользователя в систему. Этот файл cookie обычно содержит идентификатор сеанса определенного типа (длинная строка). Прикрепите этот идентификатор к URL фильма в качестве запроса (.../video.mov?ID=2387543462578
).
Таким образом, ваш сервер может проверить идентификатор по текущим открытым сеансам. Если идентификатор недействителен, ответьте 403 (запрещено).
[РЕДАКТИРОВАТЬ] Поскольку вы помещаете файл в Rails_root/public/videos
, Ruby автоматически обрабатывает загрузку в браузер для вас. Это поведение по умолчанию для любого файла, помещенного в папку public
. Что вам нужно, это поместить файлы в другое место и обработать загрузки вручную. Проверьте источники Ruby и найдите обработчик для папки public
; это должно дать вам представление о том, как это работает под капотами. Вы должны иметь возможность расширить этот класс дополнительным кодом, чтобы проверить, действительно ли пользователь может загрузить файл.