2017-05-08 12 views
0

Paperclipでアップロードしたuserの画像のホスティングサービスとしてAmazon S3を使用しています。amazon S3 privacy for Paperclipアップロードしたデータ

私はこれらの書類が私的であることを理解するのに苦労していますが、

パブリックプロファイルに表示されるように設計されているため、私のuserイメージは実際には煩わされません。将来的には一部のPDFファイルは特定のusersに限定されており、これらのファイルでしか表示されません。users

もちろん、私のアプリケーションでは、HTTPアドレスを見るとユーザーが見ることができるファイルが返されます画像のそれらを微調整、他のいくつかの画像が配信されます。たとえば

http://mywebsitename.s3-eu-west-1.amazonaws.com/photographephotos/images/000/000/013/big/CopyrightMM.JPG?1492617xxx 

を上記のアドレスで、私は別の画像を見ることができる別の数字に番号「13」に変更したときに...

私は何が間違っているのか分かりませんが、一意のトークンが追加されていないようですo Amazon S3での一時的なセッションのような、イメージアドレス。短い時間に1人のユーザーがこのイメージを見ることができます...ページがリロードされ、別のトークンがイメージに添付されていない限り...

セットアップに関しては、IAMユーザーを作成し、アプリケーションバケットへのフルアクセスを許可し、そのIAMユーザーにS3資格情報を添付してPaperclipをセットアップしました。お使いのモデルの使用に

答えて

1

has_attached_file :file, s3_permissions: :private 

とファイルURLの使用を取得する:

@model.file.expiring_url(10) 
+0

すごい感謝。あなたの最初のコード行を入力することで、私はこのPaperclipのgitページで終わりました:https://github.com/thoughtbot/paperclip/wiki/Restricting-Access-to-Objects-Stored-on-Amazon-S3 pretty cool – Maxence

+0

@Maxence gladそれはうまくいった –

関連する問題