阻止在asp.net中提供文件(pdf)

时间:2013-01-03 18:31:49

标签: asp.net download handler

我有一个传统的Flash应用程序(无法访问源代码),当它完成时会自动在新窗口中打开pdf。

有没有办法阻止这个特定位置的这个文件打开(再次,请记住我无法编辑闪存)

因此它直接在浏览器中打开http://site.com/Files/Video/Completion.pdf,没有处理程序或任何可以更改的内容。

2 个答案:

答案 0 :(得分:3)

您可以在该文件夹中删除web.config,这将阻止文件被访问,除非它们具有特定的角色:

<configuration>
    <system.web>
        <authorization>
           <allow roles="WHATEVER-ALLOWED-ROLES"/>
           <deny users="*"/>
        </authorization>
    </system.web>
</configuration>

如果您只想锁定该特定文件,可以将<system.web><location path="filepath-and-name">

包起来

这可能需要您在“处理程序”部分中将以下处理程序添加到根web.config中,因为IIS通常会在ASP.NET触及之前提供文件。这将使PDF通过ASP.NET,然后可以从上面处理角色限制:

<add name="PDFHandler-Integrated" path="*.pdf" verb="GET" type="System.Web.StaticFileHandler" modules="ManagedPipelineHandler" requireAccess="Script" preCondition="integratedMode" />

答案 1 :(得分:0)

您可以将文件锁定在Web服务器上或删除它吗?如果您无法更改来源,则无法阻止window.open发生,但您可以阻止发送。