2011-06-29 51 views
2

我有一個應用程序,管理員用戶可以創建用戶並將文檔上載到服務器,以便創建的用戶下載。停止從未經授權的用戶下載文檔

上傳文件時,它會使用用戶ID作爲文件夾名稱創建一個文件夾,並將其保存在名爲文檔的文件夾中的該文件夾中。 〜documents/77b29079-43d6-4520-bc34-77ae2af1b131/documentname.xls

然後,客戶端必須登錄並且只能看到該用戶的可用文檔列表。唯一的問題是,如果有人想要獲取某個文檔的其中一個網址,則無需登錄即可下載。

有什麼我可以做的,以阻止訪問這些文件?我曾嘗試編輯web.config文件只允許訪問特定的角色,但我仍然可以下載文件無需登錄。

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

感謝您的幫助。 J.

+2

看看這個:http://forums.asp.net/p/1481964/3460994.aspx? –

+0

看看鏈接,並試圖實現自定義處理程序,但我只是不斷收到錯誤無法加載類型'DocTypeHandler.ashx',也許需要再次發佈,看看這是什麼。 – JBoom

回答

1

@ rlb.usa在評論中提供的鏈接有兩個好方法。另一種選擇是將文檔存儲在數據庫中,並使用應用程序代碼或數據庫安全性來確定誰有權訪問什麼。當然,這帶來了一系列不同的問題和優勢。如果您使用的是SQL Server,this會影響一些優點和缺點。

+0

感謝提示傢伙,將有一個看看他們,看看我怎麼上。我曾想過將它存儲在數據庫中,但我之前已經研究過這個項目,但是之前的項目卻反對這個。 – JBoom