Azure Blob文件存储策略

时间:2011-11-07 14:17:54

标签: asp.net-mvc security azure azure-storage azure-storage-blobs

在我的网站中,用户可以上传两种文件:

  • 文件(doc,pdf,jpg,zip)
  • 头像图片(jpg)

我开始创建私有blob容器。 所以我可以检查要求文件的用户是否有权下载

当在网站的公共部分的页面中,我必须向所有用户显示头像图像时出现问题。 在这种情况下,除了头像图像保存在私有文档的同一个blob容器中之外,不需要检查任何内容。

所以,第一个解决方案是创建一个简单的动作,接收图片的文件名,然后从blob中获取并推送到流出。 但这样做我会向恶意用户提供使用此脚本请求保留文档的能力。(只是询问文档文件名而不是头像图像文件)

什么是最佳解决方案? 创建两个不同的blob容器(一个私有和一个公共)? 其他解决方案?

修改

使用元数据标记公共文件?

1 个答案:

答案 0 :(得分:4)

我建议创建两个不同的容器。不仅如此,我还建议您不要将头像推送到流中,而是将完整的blob URL发布到源。因此,您以后也可以使用CDN!使用“透明代理”操作方法对公共blob没有意义。 至于私有blob - 我认为你的方法很好,但你必须在提供blob内容之前执行一些安全检查。