2012-12-21 32 views
0

我正在工作在asp.net中的一個項目,我在一個目錄中存儲一些文件說溫度。我想給那個文件夾及其內容的訪問權限,只有被記錄的用戶應該顯示訪問被拒絕。ASP.NET文件夾只能訪問登錄用戶。

我曾嘗試

<system.web> 
    <authentication mode="Forms"> 
    <forms loginUrl="Default.aspx" defaultUrl="Default.aspx" ></forms> 
    </authentication> 
    <authorization> 
    <allow users="*"/> 
    </authorization> 
</system.web> 

    <location path="temp"> 
    <system.web> 
    <authorization> 
     <deny users="?"/> 
    </authorization> 
    </system.web> 
</location> 

,但它不工作。

我在做什麼錯?什麼應該是正確的方法?

回答

1

首先,忘記修改全球web.config,這是沒有必要的。你剛纔創建的文件夾中提到的輔助web.config並提出:

<?xml version="1.0"?> 
<configuration> 
<system.web> 
    <authorization> 
    <deny users="?"/> 
    <allow users="*"/> 
    </authorization> 
</system.web> 
</configuration> 

內。

其次,這不適用於不通過ASP.NET管道的靜態文件。這很棘手,因爲開發服務器向所有文件提供請求,並且僅在將應用程序部署到IIS時出現問題。

你將不得不增加

<system.webServer> 
    <modules runAllManagedModulesForAllRequests="true" /> 
</system.webServer> 

它告訴IIS來處理所有可能的請求(包括請求靜態資源)與ASP.NET管道。儘管如此,這有其缺點,因爲它可能會使服務器變慢一點。

相關問題