我有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>
答案 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>