【问题标题】:Synchronise Apache logout with django logout将 Apache 注销与 django 注销同步
【发布时间】:2017-06-03 19:13:47
【问题描述】:

我有一个包含图像等静态元素的网站。我想保护它们(这样你就不能使用热链接直接访问它们)。为此,我使用了 Django 文档中的“使用 mod_wsgi 进行身份验证”部分: Authentication with mod_wsgi

我不喜欢用户必须登录两次(一次是 Django 身份验证,然后是 Apache 身份验证,当页面上有图像时),但这不是主要问题(如果你知道如何处理这个问题也不错)

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

【问题讨论】:

    标签: python django apache authentication authorization


    【解决方案1】:

    您应该看看 Apache 'X-SENDFILE' 标头:https://tn123.org/mod_xsendfile/

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

    使用此解决方案,您的用户不必登录两次,您可以进行任何类型的控制!

    我用 nginx 写了一篇关于它的博客文章 here,但它的工作方式相同:)

    【讨论】:

    • 非常感谢!看起来很有希望,我会试一试:)!所以我只需要将 nginx 标头 X-Accel-Redirect 更改为 Apache X-SENDFILE 标头?
    • 没错,X-Sendfile 是 apache 模块使用的标头,它的工作方式与 nginx 相同:)
    猜你喜欢
    • 2021-11-23
    • 1970-01-01
    • 1970-01-01
    • 2016-11-12
    • 1970-01-01
    • 2013-06-01
    • 2019-05-30
    • 2012-03-14
    • 2011-01-05
    相关资源
    最近更新 更多