Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/32.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在asp.net上基于访问级别限制文件下载_Asp.net_Asp.net Mvc 3_C# 4.0 - Fatal编程技术网

在asp.net上基于访问级别限制文件下载

在asp.net上基于访问级别限制文件下载,asp.net,asp.net-mvc-3,c#-4.0,Asp.net,Asp.net Mvc 3,C# 4.0,我有一个用asp.net mvc3制作的web应用程序。有一个工具可以使用该应用程序上载和下载文件。上载的文件将存储在web根目录下的某个文件夹中。我想允许下载文件给那些谁有权访问这些文件只。任何人都不能通过直接粘贴到文件URL下载文件 我使用具有有限IIS访问权限的共享主机。那么,实现这一点的最佳方法是什么呢?您目前如何将数据存储在访问权限上?听起来您将无法使用IIS来控制对文件的访问,必须自己处理 在这种情况下,您不应该直接链接到文件,而应该将文件存储在web根目录之外,然后使用GET方法处

我有一个用asp.net mvc3制作的web应用程序。有一个工具可以使用该应用程序上载和下载文件。上载的文件将存储在web根目录下的某个文件夹中。我想允许下载文件给那些谁有权访问这些文件只。任何人都不能通过直接粘贴到文件URL下载文件


我使用具有有限IIS访问权限的共享主机。那么,实现这一点的最佳方法是什么呢?

您目前如何将数据存储在访问权限上?听起来您将无法使用IIS来控制对文件的访问,必须自己处理

在这种情况下,您不应该直接链接到文件,而应该将文件存储在web根目录之外,然后使用GET方法处理通过ASP.NET MVC传入的文件请求。此时,您可以检查用户的凭据,如果他们有访问权限,您可以提供该文件

我对它不太熟悉,但ASP.NET MVC似乎使提供文件变得非常简单,能够返回
FileContentResult
,并由
Controller.File
方法(文档)支持


看起来这是一个很好的开始,您只需要将凭证检查逻辑插入Get方法。

您的站点是否使用SQL?如果您无法使用IIS控制访问,则可以更轻松地将图像存储在sql server中,这样您可以更轻松地管理它们。我确实使用sql server,但文件大小将高达50mb到100mb,因此我觉得将其存储为文件是个好主意。。。