GridFS MongoDB, Rails 3, X-Sendfile и ACL, КАК? - PullRequest
3 голосов
/ 28 октября 2010

У меня есть проект Rails 3, который выполняет загрузку / выгрузку файлов с правами доступа (у пользователя много файлов, и он может только читать / записывать свои собственные файлы).

Если я храню свои файлы в классической файловой системе, я могу проверить доступ к файлу в моем приложении rails и затем использовать заголовок X-Sendfile для перенаправления в файл, если у пользователя есть доступ.Таким образом, пользователь никогда не сможет получить доступ к файлу без разрешения, и загрузка будет быстрой.

  1. Можно ли сделать загрузку файла из GridFS так же быстро, как X-Sendfile, и пропустить хлопотобвязать их через рельсы / стойки?

  2. Трубопроводы через рельсы / стойки будут ужасно медленными?

  3. Могу ли я сделать загрузку файлов из GridFS так же быстро, как X-Sendfile, и избавиться от хлопот по трубопроводам через рельсы / стойки, И ТАКЖЕ имеет возможностьобеспечить права доступа?

1 Ответ

1 голос
/ 31 октября 2010

До сих пор я нашел и подумал о возможных решениях:

  1. Используйте что-то вроде gridfs-fuse , чтобы смонтировать GFS на локальную FS и использовать X-Sendfile как всегда.

  2. Используйте что-то вроде nginx-gridfs , которая работает c-fast и out-of-rails (не блокирует цикл req-resp моего приложения при загрузке). Недостатком является то, что это сервер

...