Rails + Devise как запретить доступ к файлам в директории public неавторизованным пользователям?

Здравствуйте
Подскажите как можно ограничить доступ к файлам в директории public не авторизованным пользователям:
http://server.com/uploads/product_photo/02d13ce6-ff11-4194-ba86-b1ab38d90ed7.jpg

такого рода запросы не проходят авторизацию. Если единственный вариант перенести фотографии в другую директорию, то в какую tmp ?
  • Вопрос задан
  • 2882 просмотра
Решения вопроса 1
sck_v
@sck_v
exflow.io
1. nginx'ом закрываете папку /uploads/product_photo
2. Добавляете в приложении контроллер/метод, который будет получать имя файла, проверять файл на наличие, проверять авторизацию пользователя
3. Если всё ок, отдаёте файл при помощи send_file
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
насколько я понимаю в рельсах ты не сможешь ограничить доступ к файлам в папке /public, по хорошему они отдаются через nginx напрямую.
Папку можно использовать /private/uploads например. Логичное противопоставление папке public.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы