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