Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/319.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 将Apache注销与django注销同步_Python_Django_Apache_Authentication_Authorization - Fatal编程技术网

Python 将Apache注销与django注销同步

Python 将Apache注销与django注销同步,python,django,apache,authentication,authorization,Python,Django,Apache,Authentication,Authorization,我有一个像图片这样的静态元素的网站。我想保护它们,这样你就不能直接使用热链接访问它们。为此,我使用了Django文档中mod_wsgi的部件身份验证: 我不喜欢这样一个事实,即当页面上有图像时,用户必须登录两次Django auth,然后是Apache auth,但这不是主要问题,如果您知道如何处理这个问题,那也很好 我的主要问题是,在我注销后,我仍然可以访问受保护的映像。我知道这是因为Apache只使用Djangos check_password方法,但可能有一种方法可以同步它?您应该看看A

我有一个像图片这样的静态元素的网站。我想保护它们,这样你就不能直接使用热链接访问它们。为此,我使用了Django文档中mod_wsgi的部件身份验证:

我不喜欢这样一个事实,即当页面上有图像时,用户必须登录两次Django auth,然后是Apache auth,但这不是主要问题,如果您知道如何处理这个问题,那也很好


我的主要问题是,在我注销后,我仍然可以访问受保护的映像。我知道这是因为Apache只使用Djangos check_password方法,但可能有一种方法可以同步它?

您应该看看Apache的“X-SENDFILE”头:

它允许Django检查您的用户是否可以访问它,如果他被授予访问权限,静态文件将由Apache提供服务

使用此解决方案,您的用户无需登录两次,您可以随心所欲地进行任何控制


我用nginx写了一篇关于它的博文,但它的工作原理是一样的:

非常感谢!看起来很有希望,我会试试看:!因此,我只需要将nginx头文件X-Accel-Redirect更改为Apache X-SENDFILE头文件?确切地说,X-SENDFILE是Apache模块使用的头文件,其工作方式与nginx相同: