2015-06-22 53 views
0

我有一個開放的問題,要了解和看到什麼樣的策略可以用來做一個安全的下載。Jquery/MVC4安全文件下載

我們有MVC4/JavaScript客戶端調用Web API來獲取一個多返回的數據和用戶界面控制器獲取數據並返回一個文件()回下載

請求的URL看起來是這樣的:

http://someapplication/downloadfile/1234 

其中1234是要檢索的文件的ID。

我們正在嘗試爲此網址添加一些策略,以便用戶無法共享此網址並讓其他人下載該文件。

通過使用一些鍵來使這個網址獨特和特定於用戶?通過從瀏覽器或其他東西使用引用?

任何建議

+1

是認證不到位,即用戶畝st登錄訪問文件? – SBirthare

+0

我們擁有sso以允許只有經過身份驗證的用戶才能訪問應用程序..但其他人可能有權訪問該下載,我們不希望用戶觸發下載來共享該鏈接。不知道我是否有任何意義,因爲我正在打字... – fireholster

回答

3

我通常使用的方法Token-In-Header讓這些東西的安全和驗證用戶。 因此,如果用戶與任何人分享網址,他們還需要該Token-In-Header進行身份驗證。 這是如何工作的

  1. 生成唯一Token爲每個用戶每次登錄(就像會話密鑰)
  2. 這種獨特token將通過客戶端來使用(如:移動應用),同時進行文件下載請求,通過將令牌在Header of request
  3. 在MVC結束時,得到的是頭令牌和執行任何驗證認證用戶(固定文件下載)
+1

令牌可以添加到請求中,如本答覆中所述 - http://stackoverflow.com/a/13515414/3748701 –

+1

如果SSO已經實施如果ajax調用和託管應用程序位於同一個域中,那麼應用程序可能已經在接收會話/身份驗證cookie。在這種情況下,不需要頭部,只需在'Controller'的OverAided'OnAuthorization'方法中驗證用戶請求。 –