python - WSGI 作为 AuthFormProvider

标签 python django mod-wsgi apache2.4

是否可以在 Apache2.4 中使用“wsgi”作为 AuthFormProvider?

作为第一次尝试,我编辑了 here 找到的示例。 现在的配置如下所示,但不起作用:

<Location "/test">
    AuthType Form
    AuthFormProvider wsgi
    AuthName "test"
    AuthFormLoginRequiredLocation /login.html
    WSGIAuthUserScript /path/to/django/wsgi.py
    WSGIAuthGroupScript /path/to/django/wsgi.py
    Require Group test
    Require valid-user
    Session On
    SessionCookieName xyz path/
    SessionCrypotPassphrase 123456789
</Location>

最佳答案

首先,您必须使用 mod_wsgi 4.3.0,WSGIAuthGroupScript 才能与 Apache 2.4 配合使用。 Apache 2.4 的内部结构相对于 2.2 发生了变化,而且这是最近才实现的。该问题仅在最新版本的 mod_wsgi 中得到解决。如果您停留在 Linux 发行版的旧 mod_wsgi 版本上并拒绝更新,那么您就不走运了。

其次,您必须使用:

Require wsgi-group test

在 Apache 2.4 下,您不能使用:

Require group test

如果使用 WSGI 身份验证提供程序。

这又是由于 Apache 2.4 中的更改所致。

总的来说,我建议您将问题发布到 mod_wsgi 邮件列表,我将在那里处理它。 StackOverflow 是一个糟糕的地方,不适合进行任何形式的冗长的来回讨论,我可以很容易地看到这种转变。

就其值(value)而言,我一直热衷于研究 mod_session 与 mod_wsgi 的交互,但从未有过机会,如果您跳到 mod_wsgi 邮件列表,那么帮助探索这一点肯定很有趣。

关于python - WSGI 作为 AuthFormProvider,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25932109/

相关文章:

python - Pandas:选择要添加的列

python - 程序导致 OSX (Snow Leopard 10.6.4) 窗口服务器自发崩溃

django - 检查现有密码并重置密码

python - Django 应用程序中的 datetime.now() 变坏了

python - 在 uwsgi 上切换 python 版本

python - 如何使用正则表达式删除 python pandas DataFrame 中的行?

python - 在 Python 中处理传递性

python - 需要帮助识别涉及 matplotlib 和 Flask 的内存泄漏

django - 使用views.py中的主键重定向

python - Django REST Framework - 在序列化程序测试中设置请求?