gpt4 book ai didi

ruby-on-rails - 在 S3 和 cloudfront 上使用 rails carrierwave 私有(private)文件

转载 作者:行者123 更新时间:2023-12-04 02:43:39 24 4
gpt4 key购买 nike

我有从 Amazon cloudfront 提供的公共(public)文件和私有(private)文件,公共(public)文件工作正常,但现在我想通过经过身份验证的读取将其中一些文件保护为私有(private)文件。

私有(private)文件有自己的 Uploader DocumentUploader,文件是否需要存储在单独的存储桶中?就像现在一样,它们都在一个桶中。

不久前我用 Paperclip 做过类似的事情,但似乎找不到一个很好的资源来使用 Carrierwave 和使用定时的 Authenticated_url

我看到他们在这里有类似的东西:

http://www.rdoc.info/github/jnicklas/carrierwave/5d1cb7e6a4e8a4786c2b/CarrierWave/Storage/Fog/File#authenticated_url-instance_method

但我不确定如何实现它。

任何提示将非常感谢。

最佳答案

取决于安全程度,但您可以在特定的 Uploader 类本身上设置文件权限,从而覆盖默认权限,如下所示:

class SomeUploader < CarrierWave::Uploader::Base

def fog_public
false
end

def fog_authenticated_url_expiration
5.minutes # in seconds from now, (default is 10.minutes)
end
.....

这将自动导致来自此上传器的文件现在预先添加临时 AWS 到期和访问 key ,并且 future 的上传将设置为私有(private),即不可公开访问。

https://s3.amazonaws.com/uploads/something/1234/124.pdf?AWSAccessKeyId=AKIAJKOSTQ6UXXLEWIUQ&Signature=4yM%2FF%2F5TV6t4b1IIvjseenRrb%2FY%3D&Expires=1379152321

关于ruby-on-rails - 在 S3 和 cloudfront 上使用 rails carrierwave 私有(private)文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18714508/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com