2017-04-22 95 views
1

項目ASP.NET針對特定用戶的Azure下載

我將使用Azure存儲。問題(要求):

  1. 在我的項目中,我讓我的註冊用戶下載文件。但我不希望用戶將這個下載鏈接分享給未註冊的人(例如:我給註冊用戶的下載鏈接只能在他們的計算機上下載)。

  2. 我只顯示註冊用戶的下載鏈接,註冊用戶可以下載,我給他們

  3. 沒有人可以刪除我的文件

回答

1

問題1文件:此取決於您的應用程序,但如果您直接鏈接到Azure存儲中的斑點,則需要使用共享訪問簽名(或策略)來保護它們。這樣,您可以給某人一個到期的鏈接(例如,發佈鏈接10分鐘後)。那麼,如果有人放棄了這個鏈接,它就不會工作很長時間了。沒有辦法限制鏈接對特定計算機的使用。現在,如果您只是將blob中的內容傳輸到應用程序,然後從您的應用程序傳輸到用戶,那麼您可能會有更多的控制權,因爲您不會真正生成可重用的鏈接。但是這會有不利影響(比如通過Web層運行所有內容,需要更多的Web層資源)。

問題2:這完全取決於您的應用程序,您如何管理資產並將其呈現給註冊用戶。沒辦法爲你回答這個問題,因爲我們對你的應用程序一無所知。

問題3: Azure存儲可以通過一個祕密密鑰訪問,該密鑰應該保密,只有你應該有權訪問它(例如,它將被你的代碼在服務器上使用)。只要你不在任何地方發佈這個密鑰,那麼沒有人能夠刪除你的內容。

+0

非常感謝您的評論。 1.和3.我已經通過你解決了這些問題。問題我有一個問題,你的例子http://xxx.xx/container/blabla.jpg是我的這張照片的下載鏈接,我也在我的容器blabla2.jpg當用戶嘗試它可以去圖像? –