我在Rails 4/Paperclip上有一个市场应用程序,并且正在使用AWS S3进行图像存储。我希望图片网址为https(或者我的ssl证书在某些浏览器上显示警告)Rails Marketplace应用程序 - AWS权限
根据关于paperclip AWS settings的文档,它说:“s3_protocol:为您的S3资产生成的URL协议,可以是' http','https'或一个空字符串来生成协议相对URL,当你的:s3_permissions是:public_read(默认)时,默认为'http',当你的:s3_permissions是其他内容时,默认为'https'。
根据以上所述,不同的s3_permissions位于canned acl部分。
我的问题是针对需要多个用户上传图片的市场,我应该使用公共读写设置吗?这听起来不太安全 - 这是否意味着任何人都可以编辑图像或删除它?
理想情况下,我想要一个只有图像所有者(卖家)或存储桶所有者(我)才能覆盖图像和“AllUsers”读取图像的权限。我应该使用哪种设置?或者我应该做其他事情?
我的回形针设置:
config.paperclip_defaults = {
:storage => :s3,
:s3_credentials => {
:bucket => ENV['S3_BUCKET_NAME'],
:access_key_id => ENV['AWS_ACCESS_KEY_ID'],
:secret_access_key => ENV['AWS_SECRET_ACCESS_KEY']
},
:s3_protocol => :https,
:s3_permissions => :public_read_write
}
但是对于https,我无法使用public_read。我需要使用其他人之一。 – Moosa 2015-02-10 06:15:01