拒绝访问html页面

时间:2014-02-23 08:26:01

标签: 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>

1 个答案:

答案 0 :(得分:6)

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

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

<handlers>
    <add name="HTMLHandler" type="System.Web.StaticFileHandler" path="*.html" verb="GET"  />
</handlers>
相关问题