2012-12-24 32 views
4

如何限制對S3中:original樣式文件的任何訪問,但請保留訪問存儲桶中其餘樣式文件夾的權限?限制訪問回形針:S3中的原始文件

我看到了有關如何限制所有訪問然後檢查模型屬性的實現。我只是想限制訪問:original風格

我沒有在回形針通知this line,我只是不知道如何使用(如果可能)

回答

1

我找(我想,沒有測試它尚未)的答案可以在這裏找到

http://rdoc.info/github/thoughtbot/paperclip/Paperclip/Storage/S3

s3_permissions: This is a String that should be one of the "canned" access policies that S3 provides (more information can be found here: docs.amazonwebservices.com/AmazonS3/latest/dev/index.html?RESTAccessPolicy.html) The default for Paperclip is :public_read. 
You can set permission on a per style bases by doing the following: 
:s3_permissions => { 
    :original => :private 
} 
Or globaly: 
:s3_permissions => :private 
1

您可以通過一個操作訪問文件限制文件一個控制器。這樣你就可以控制用戶可以訪問哪些文件,哪些不能訪問。

如果你只是做一個私人s3桶,這不會幫助你。因爲具有有效密鑰的用戶可以訪問存儲桶中的任何文件。如果你真的有需要保護的文件,你只能查看方法(我認爲):

  • 限制對存儲桶的訪問並通過控制器的操作提供文件(沒有真正的方法以解決此問題)
  • 重命名特定文件不容易預測(例如32個或更多字符的數字和字母)。這是不幹簡單的實現,你可以直接從仍然可以提供文件服務S3
  • 將文件保存在其他地方(也許在其他的S3存儲桶),所以沒有人能預測他們

重命名,你可以使用文件這個計算器的問題:Paperclip renaming files after they're saved

+0

如果通過url直接訪問文件,這將無濟於事 –

+0

如果您確實想要控制對文件的訪問,則必須停止直接訪問。你用亞馬遜s3嗎? – Fa11enAngel

+0

是S3 s3,忘記添加到這個問題 –