【发布时间】:2018-02-02 03:45:54
【问题描述】:
我有一个看起来很常见的问题,但我找不到任何帮助。假设我有一个经过身份验证的用户将私人照片上传到我服务器上的不可浏览文件夹。每个用户在大型文件存储中都有自己的文件夹,例如...
/FileStore/{UserId}/Photos/my_cute_cat.jpg
文件已上传,我会保存照片的缩略图...
/FileStore/{UserId}/Photos/Thumbs/my_cute_cat_thumb.jpg
该用户想要下载他们的照片。没问题...
- 用户发送下载请求
- 我授权用户并确保他们拥有该特定照片
- 我提供文件
我需要在用户仪表板上以普通的旧 img 标签显示缩略图。 /Thumbs/ 文件夹未设置为提供静态图像。我不希望 /thumbs/ 文件夹能够提供静态图像,因为它们应该只对授权用户可见。我该怎么办?
【问题讨论】:
-
通过授权控制器操作提供缩略图。类似于回答这个问题的东西:stackoverflow.com/questions/186062/… 显然你会调整安全性,但这是一般的想法。
-
这个想法很简单。每当您想要提供需要授权的文件时,您需要通过 FileActionResult 提供它,同时使用 [Authorize] 属性装饰操作方法。静态文件夹是公开可用的,即它们位于
wwwroot文件夹中。它们存在安全漏洞。
标签: asp.net .net asp.net-core .net-core