我有一个与我的ASP.net MVC 3应用程序相关的问题。我的Web应用程序允许用户将文件上传到Amazon S3和其他成员以访问它们。我希望能够控制谁可以访问这些文件。要做到这一点,我不想公开文件的URI,我不会让服务器代理文件。
有人可以建议实现这一目标的最佳途径吗?
答案 0 :(得分:2)
S3允许您创建一个有时间到期的签名网址。这似乎已在此完全涵盖:Creating expiring links to S3 or Cloudfront hosted content with ASP .Net
答案 1 :(得分:1)
一种方法是使用AWS SDK for .NET并调用GetPreSignedURL method,它将生成具有查询字符串授权的临时URL。另一种选择是将您的图像指向一个安全的MVC路线,该路线将301/302重定向到图像网址(也可以是预先指定的网址)。