2012-05-01 58 views
1

我在我的網站上有一個文件夾,其中包含另一個文件夾,其中包含所有包含各種文檔的文件夾:pdf,word文檔,txt文件,excel文檔,圖像等。我想阻止用戶通過瀏覽器導航到任何這些文件。我怎樣才能做到這一點?我正在使用MVC3。防止用戶導航到文檔

+2

哪個版本的IIS?只要關掉目錄瀏覽 – Ste

+0

7我相信。關閉目錄瀏覽?我會研究它。問題在於我正在使用卡西尼,這會讓這件事變得有點難以測試。我正在考慮更多的代碼/配置級別。你可以關閉Web.config中的目錄瀏覽功能嗎? –

回答

3

您可以將您的目錄結構移動到App_Data特殊文件夾中。該文件夾不能直接訪問。然後只需編寫一個控制器動作,給定一個id將文件傳輸到客戶端。然後使用Authorize屬性修飾控制器操作,以確保只有經過身份驗證的用戶才能訪問它們。

1

目錄瀏覽只會阻止用戶看到文件夾內的文檔列表,但它不會阻止用戶輸入指向現有文檔的有效URL並查看它。如果這是您需要的,您需要拒絕所有用戶訪問該文件夾。

<location path="folder"> 
<system.web> 
<authorization> 
    <deny users="*"/> 
</authorization> 
</system.web> 
</location> 
1

如果你不能在IIS做到這一點很容易然後做它在Web.config中,在這裏你去:

<configuration> 
    <location path="Secured"> 
    <system.webServer> 
     <directoryBrowse enabled="false" /> 
    </system.webServer> 
    </location> 
</configuration> 

[編輯]

我看你想的內容不可訪問,而不僅僅是阻止目錄列表。 在這種情況下,請執行Icarus答案中的其他步驟。