4

如何限制对:originalS3 中样式文件的任何访问,但保留对存储桶中其余样式文件夹的访问权限?

我看到了有关如何限制所有访问然后检查模型属性的实现。我只想限制对:original样式的访问

我确实注意到回形针中的这条线,我只是不知道如何使用(如果可能的话)

4

2 回答 2

1

您可以通过控制器的操作访问文件来限制文件。通过这种方式,您可以控制用户可以访问哪些文件,哪些不能访问。

如果您只是制作一个 privat s3 存储桶,这对您没有帮助。作为具有有效密钥的用户可以访问存储桶中的任何文件。如果您确实有需要保护的文件,那么您只能查看方法(我认为):

  • 限制对存储桶的访问并通过控制器的操作提供文件(没有真正的解决方法)
  • 将特定文件重命名为不易预测(例如 32 个或更多字符的数字和字母)。这很容易实现,您仍然可以直接从 s3 提供文件
  • 将文件保存在其他地方(可能在其他 s3 存储桶中),因此没有人可以预测它们

对于重命名文件,您可以使用这个 stackoverflow 问题:Paperclip renaming files after they're save

于 2012-12-25T18:57:08.283 回答
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
于 2013-01-06T20:39:07.153 回答