拒绝访问html页面

use*_*916 3 asp.net

我有ASP.NET Web Forms项目.我Demo在这个项目中创建了一个文件夹并放入了这个文件夹HelloWorld.html.我需要拒绝所有用户访问此html(重要的不是asp)页面.我怎样才能做到这一点?

我试过这种方式,但它不起作用(但它与asp页面完美配合).

<configuration>
    <location path="Demo/HelloWorld.html">
        <system.web>
            <authorization>
                <deny users="*"/>
            </authorization>
        </system.web>
    </location>
</configuration>
Run Code Online (Sandbox Code Playgroud)

Mik*_*Dev 6

web.config是对的.问题是这会保护通过ASP.NET管道的文件.某些静态文件(如html文件)由IIS直接提供,因此它绕过了您的安全性.

您可以通过在<system.webServer>web.config部分下为它们添加处理程序来强制静态文件通过ASP.NET管道:

<handlers>
    <add name="HTMLHandler" type="System.Web.StaticFileHandler" path="*.html" verb="GET"  />
</handlers>
Run Code Online (Sandbox Code Playgroud)