阻止用户导航到文档

时间:2012-05-01 16:44:23

标签: c# .net asp.net-mvc-3

我的网站中有一个文件夹,其中包含另一个文件夹,其中包含许多文件夹,这些文件夹都包含各种文档:pdfs,word文档,txt文件,excel文档,图像等。我想阻止用户导航到这些文档中的任何一个通过浏览器。我怎样才能做到这一点?我正在使用MVC3。

3 个答案:

答案 0 :(得分:3)

您可以在App_Data特殊文件夹中移动目录结构。无法直接访问此文件夹。然后简单地编写一个控制器动作,给定一个id将文件流传输到客户端。然后使用Authorize属性修饰控制器操作,以确保只有经过身份验证的用户才能访问它们。

答案 1 :(得分:1)

目录浏览只会阻止用户查看文件夹中的文档列表,但不会阻止用户输入指向现有文档并查看它的有效URL。如果这就是您所需要的,则需要拒绝访问该文件夹的所有用户。

<location path="folder">
<system.web>
<authorization>
  <deny users="*"/> 
</authorization>
</system.web>
</location>

答案 2 :(得分:1)

如果你不能在IIS中轻松完成,那么在Web.config中进行,你可以去:

<configuration>
  <location path="Secured">
    <system.webServer>
      <directoryBrowse enabled="false" />
    </system.webServer>
  </location>
</configuration>

[编辑]

我发现你想让内容无法访问,而不仅仅是阻止目录列表。 在这种情况下,请执行Icarus答案中的其他步骤。