必须使用Django login_才能使用mod_wsgi访问控制

时间:2019-01-04 12:50:21

标签: python django apache mod-wsgi

我想限制对某些媒体文件的访问,以便使用mod_wsgi在django中登录用户。我找不到任何方法。

我设法按照此处的说明限制访问权限:https://docs.djangoproject.com/en/2.1/howto/deployment/wsgi/apache-auth/

但是,如果以这种方式进行操作,则每当要以htaccess弹出式样式访问文件时,都必须再次输入凭据和密码。我不知道如何告诉apache / mod_wsgi已经授权的用户可以访问该特定文件夹,因此可以查看媒体文件,而无需再次输入其凭据。

我目前正在使用相同的Apache服务来托管还托管网站的媒体文件,但我计划将来将媒体文件夹移动到另一台云服务器。

在学习本教程之后,我在apache.conf中使用以下设置:

<Location "/media/secret_folder">
    AuthType Basic
    AuthName "Access needed to access this media file"
    Require valid-user
    AuthBasicProvider wsgi
    WSGIAuthUserScript /path/to/mysite.com/mysite/wsgi.py
</Location>

我在wsgi.py中使用from django.contrib.auth.handlers.modwsgi import check_password作为check_password函数。

由于我不知道从哪里开始寻找解决方案,我的猜测要么是创建自己的check_password函数,要么是在Location属性中使用另一个AuthType。

感谢您的帮助

0 个答案:

没有答案