是否可以在Apache2.4中使用“wsgi”作为AuthFormProvider?
作为第一次尝试,我编辑了找到这里的示例。现在的配置如下所示,但不起作用:
<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>发布于 2014-09-21 18:59:42
解决方案是,我必须更新到mod_wsgi 4.3.0并更改配置,就像Graham在他的答案(或这里)中提到的那样。
除了更新之外,我还删除了指令AuthFormLoginRequiredLocation,并添加了一个ErrorDocument指令。
现在的工作配置如下所示:
<Location "/test">
AuthType Form
AuthFormProvider wsgi
AuthName "test"
ErrorDocument 401 /login.html
WSGIAuthUserScript /path/to/django/wsgi.py
WSGIAuthGroupScript /path/to/django/wsgi.py
<RequireAll>
Require wsgi-group test
Require valid-user
</RequireAll>
Session On
SessionCookieName xyz path/
SessionCrypotPassphrase 123456789
</Location>发布于 2014-09-20 05:25:47
首先,您必须使用mod_wsgi 4.3.0使WSGIAuthGroupScript使用Apache2.4。Apache2.4的内部结构从2.2改变到最近才意识到这一点。这个问题只在最新版本的mod_wsgi中得到了解决。如果您被困在Linux发行版的旧mod_wsgi版本上,并且拒绝更新,那么您将倒霉。
第二,您必须使用:
Require wsgi-group test在Apache 2.4中,您不能使用:
Require group test如果使用WSGI auth提供者。
这同样是因为Apache2.4中的更改。
总的来说,我建议您将您的问题张贴到mod_wsgi邮件列表,我将在那里处理它。在StackOverflow上,任何冗长的反复讨论都是一个可怕的地方,我可以很容易地看到它变成这样。
不管它有什么价值,我一直热衷于研究mod_session与mod_wsgi的交互,但从未有机会帮助您探索这个问题,如果您转而跳到mod_wsgi邮件列表中,那么肯定会很有趣。
https://stackoverflow.com/questions/25932109
复制相似问题