我有一个用asp.net mvc3制作的网络应用程序。可以使用该应用程序上载和下载文件。上传的文件将存储在Web根目录下的某个文件夹中。我希望允许下载文件给那些只能访问这些文件的人。没有人能够通过直接粘贴文件URL来下载文件。
我使用有限IIS访问的共享主机。那么实现这一目标的最佳方法是什么?
答案 0 :(得分:1)
您目前如何在访问权限上存储数据?听起来您无法使用IIS来控制对文件的访问,并且必须自己处理它。
在这种情况下,不是直接链接到文件,而是应该将文件存储在Web根目录之外,然后使用GET方法处理通过ASP.NET MVC进入文件的请求。此时,您可以检查用户的凭据,如果他们有权访问,您可以提供该文件。
我对它不太熟悉,但看起来ASP.NET MVC使得提交文件变得非常简单,能够返回FileContentResult
,Controller.File
方法支持(文档{ {3}})。
here看起来是一个很好的开始,您只需要将凭据检查逻辑插入到Get方法中。