2014-02-23 91 views
3

我有ASP.NET Web Forms項目。我在這個項目中創建了一個文件夾Demo,並放在這個文件夾中HelloWorld.html。我需要拒絕所有用戶訪問此html(這非常重要,不是asp)頁面。我怎樣才能做到這一點?拒絕訪問html頁面

我試過這種方式,但它沒有工作(但它與asp頁面完美地工作)。

<configuration> 
    <location path="Demo/HelloWorld.html"> 
     <system.web> 
      <authorization> 
       <deny users="*"/> 
      </authorization> 
     </system.web> 
    </location> 
</configuration> 
+0

你不知道如何限制訪問HTML網頁,還是你不知道如何限制訪問? –

+2

他的問題是,元素不會尊重* .html文件,只有* .aspx文件,並且他要求如何特別限制* .html文件。 –

回答

4

您的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>