我建立一个网站,注册用户可以上传文件,静态媒体访问。这些文件然后通过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