2011-09-28 50 views
0

我有一個在asp.net mvc3中製作的web應用程序。有一個工具可以使用應用程序上傳和下載文件。上傳的文件將存儲在Web根目錄下的某個文件夾中。我希望允許將文件下載到只能訪問這些文件的人。沒有人能夠通過直接粘貼文件的URL來下載文件。根據asp.net上的訪問級別限制文件下載

我使用IIS訪問受限的共享主機。那麼實現這個目標的最好方法是什麼?

+0

你對你的網站使用SQL嗎?如果你不能使用IIS控制訪問,它可能更容易將圖像存儲在您的SQL Server,你可以更輕鬆地管理它們。 – Oliver

+0

我使用SQL服務器,但文件將作爲巨大的50MB到100MB,所以我覺得這是一個好主意,將它們存儲爲文件...... – Amit

回答

1

您目前如何存儲訪問權限的數據?這聽起來像你不能使用IIS來控制對你的文件的訪問,並且必須自己處理它。

由於這種情況,而不是鏈接到該文件直接,你應該將文件存儲到您的Web根目錄之外,然後處理未來在使用GET方法通過ASP.NET MVC文件的請求。此時,您可以檢查用戶的憑據,如果他們有權訪問,則可以提供該文件。

我不是太熟悉它,但它看起來像ASP.NET MVC,使服務的文件很容易返回一個FileContentResult的能力,由Controller.File法(文檔here)的支持。

This blog post看起來像一個很好的開始,你就只需要插入您的證件檢查邏輯到Get方法。

+0

這是一個很好的一個。謝謝.. :) – Amit