我建立一個網站,註冊用戶可以上傳文件,靜態媒體訪問。這些文件然後通過Apache提供。只有登錄的用戶才能訪問這些文件。固定在Django網站
我已閱讀this page但似乎人們必須登錄兩次訪問相應網站和媒體,使用不同類型的登錄框的各一次。
有沒有辦法解決,還是有一些其他的方式來限制訪問使用Django的認證數據庫被Apache服務靜態媒體?
我使用mod_python的。
編輯:我是如何結束的閱讀範大風的回答和this後解決這個:
- 切換到WSGI。
- 安裝mod_xsendfile
- 感動了所有公衆的媒體文件到/媒體/子文件夾公共 使用別名/媒體/公共/var/www.../media/public
- 添加訪問公用文件夾
- 增加WSGIScriptAlias /媒體/保護/ /var/www.../apache/django.wsgi(相同的處理器爲站點的其餘部分)
- 新增XSendFile在和XSendFileAllowAbove在
- 要Django的應用程序,我加入一個用於/ media/protected的urlconf,它基本上是here,只爲我的授權而修改誘導系統。它處理諸如/ media/protected/GROUP_ID/file之類的URL,以便只有GROUP的成員才能下載這些文件。
Django文檔中描述的方法的另一個可能的問題是,它似乎使用基本身份驗證 - 它以base64編碼的明文形式發送密碼,所以不安全,除非您還對所有請求使用SSL。 – 2009-08-27 12:53:36