авторизованный доступ к внешним файлам - PullRequest
3 голосов
/ 22 марта 2012

Я ищу решение, которое, как я думал, является довольно распространенным отраслевым сценарием, но, возможно, я к нему подхожу неправильно.

У меня есть веб-сайт, на котором есть разделы для загрузки файлов участников. Файлы (pdfs, mp3s docs и т. Д.) Могут затем передаваться другим участникам в соответствии с различными критериями авторизации. Я бы хотел, чтобы файлы хранились и обслуживались на облачном сервере, таком как Rackpace File Cloud, и были отделены от веб-сайта, чтобы трафик потоковых файлов не влиял на производительность сети, а также чтобы сайт не нуждался для размещения на дорогом облачном пакете.

Мне нужно решение, чтобы URL-адреса файлов на файловом сервере требовали проверки прав доступа. Я надеялся установить скрипт в облаке файлов RackSpace для выполнения API-проверки на моем веб-сайте перед обслуживанием, но, очевидно, облако файлов RackSpace не позволяет этого.

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

Конечно, это распространено и просто?!

1 Ответ

0 голосов
/ 23 сентября 2014
Функциональные возможности

Rackspace TempURL могут удовлетворить эти потребности.

Тогда архитектура решения выглядит так:

  • Размещение кода авторизации / ролей / разрешений на вашем (дорогом) сервере приложений, на котором размещен
  • При успешной авторизации ресурса, создает TempURL , истекает через несколько секунд
  • Используйте перенаправление 302, чтобы перенаправить клиента в TempURL для ресурса

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

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