2011-10-23 75 views
1

我有一個需要:在Asp.Net 4.0應用程序中,我想拒絕對某些資源的訪問。我希望達到的目標如下:如何拒絕訪問Asp.Net應用程序中的某些頁面

1)考慮用戶試圖從我的應用程序中獲取文檔,例如位於我的應用程序某處的txt文件。

2)當用戶鍵入我的網站和資源的url時,例如www.mysite.com/Folder1/myfile.txt我的應用程序不應該給該文件返回。

如何做到這一點???

三江源

回答

2

您可以使用位置標籤來控制這種類型的東西。

在這個例子中,我給客戶和管理員訪問CustomersFolder目錄:

<location path="CustomersFolder"> 
    <system.web> 
     <authorization> 
      <allow roles="Customers, Admin"/> 
      <deny users="*"/> 
     </authorization> 
    </system.web> 
</location> 

而且與第二塊,我則限制文件夾下訪問某個文件只是管理員:

<location path="CustomersFolder/SecureFile.aspx"> 
    <system.web> 
     <authorization> 
      <allow roles="Admin"/> 
      <deny users="*"/> 
     </authorization> 
    </system.web> 
</location> 

希望這樣的事情能爲你工作。

+0

角色定義在哪裏? – Andry

+0

我正在嘗試它...讓我們看看它 – Andry

1

可以使用location element在web.config中限制訪問的網頁或文件夾。但是爲了使它適用於通常不由.NET運行時處理的文件(即.txt文件),您還必須在IIS或web.config中配置該文件。

另一個選擇是將你的敏感文件放在App_Data文件夾中,並且只通過特殊頁面或HttpHandler來檢查權限。

+0

看來我的解決方案......但是,這兩種方式,你能更好地解釋它們嗎? Thankyou – Andry