使用MVC3隐藏在Amazon S3上托管的文件下载源

时间:2011-08-29 12:27:43

标签: asp.net asp.net-mvc-3 upload download amazon-s3

我有一个与我的ASP.net MVC 3应用程序相关的问题。我的Web应用程序允许用户将文件上传到Amazon S3和其他成员以访问它们。我希望能够控制谁可以访问这些文件。要做到这一点,我不想公开文件的URI,我不会让服务器代理文件。

有人可以建议实现这一目标的最佳途径吗?

2 个答案:

答案 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重定向到图像网址(也可以是预先指定的网址)。