我正在创建一个具有以下功能的Rails应用程序:
与S3的所有通信都设置为私有,因此只有注册用户才能访问图像和文档。我把expiring_url(3600)(1小时,仅用于测试)。 当我选择一个图像并将其保存到文本中时,会创建一个带有文本html的数据库记录,其中包含图像的url和他过期的数据。
当我稍后加载此文本时问题会出现:图像将不再可见,因为密钥已过期。
我该如何解决这个问题? 一个解决方案是延长过期时间,但我认为这不是要走的路......
提前致谢,
的Wouter
答案 0 :(得分:1)
我同意延长过期时间真的不是要走的路。另一种方法是始终将您的图像URL指向您自己的应用程序控制器之一,该控制器动态生成经过身份验证的URL,然后将用户请求重定向到该URL。
我找到的最佳指南是thewebfellas.com/blog/2009/8/29/protecting-your-paperclip-downloads
它涵盖了很多不同的场景,但我想您有兴趣阅读“扩展到Amazon S3”一节