我有一个用asp.net mvc3制作的web应用程序。有一个使用应用程序上传和下载文件的工具。上传的文件将存储在web根目录下的某个文件夹中。我想要允许下载文件给那些有权访问文件的人。任何人都不能通过直接粘贴文件URL来下载该文件。
我使用IIS访问受限的共享主机。那么,实现这一目标的最佳方式是什么呢?
发布于 2011-09-28 19:03:59
您目前如何存储访问权限上的数据?听起来您将无法使用IIS来控制对您的文件的访问,必须自己处理它。
在这种情况下,与其直接链接到文件,不如将文件存储在web根目录之外,然后使用GET方法处理通过ASP.NET MVC传入的文件请求。此时,您可以检查用户的凭据,如果他们有访问权限,您就可以提供该文件。
我不太熟悉它,但是看起来ASP.NET MVC使用Controller.File
方法(documentation here)支持的返回FileContentResult
的能力使得提供文件变得非常容易。
This blog post看起来是一个很好的开始,您只需要将凭证检查逻辑插入到Get方法中。
https://stackoverflow.com/questions/7581552
复制相似问题