2015-02-10 89 views
0

我在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 
} 

回答

0

我使用默认public_read,所有上传来通过控制器(其中用户进行身份验证装置和后评论家)和回形针上传与AWS访问凭据桶。

+0

但是对于https,我无法使用public_read。我需要使用其他人之一。 – Moosa 2015-02-10 06:15:01