2011-10-28 167 views
6
文件

我建設有以下行爲的Django/S3應用: 拒絕直接訪問S3上

  • 用戶

    1. 用戶登錄上傳一個文件 - >文件進入S3(最終與UID名稱,並在數據庫別名?)
    2. 用戶可以下載我正在尋找一種方式來拒絕其他用戶的文檔

    (或者,更糟糕的是沒有登錄)查詢並訪問文件。一個解決方案,我能找到的是:

    • 每個文件,頁面有鏈接到一個處理腳本
    • 鏈接被點擊時,視圖處理它(支票用戶進行身份驗證,確定S3正確的文件)並重定向到它

    這夠了嗎?有沒有更優雅的解決方案呢?

  • 回答

    6

    不要公開你的文件。這將防止非授權用戶訪問文件。

    然後在您的Django應用程序中,您可以使用查詢字符串生成網址,以允許授權用戶在有限的時間內訪問S3文件。

    關於querystring request authentication的亞馬遜文檔有更多信息。

    +0

    酷豆。 。 。 –

    +0

    Oooo。好一個! :) –