首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >WSGI作为AuthFormProvider

WSGI作为AuthFormProvider
EN

Stack Overflow用户
提问于 2014-09-19 10:43:41
回答 2查看 693关注 0票数 1

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

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

代码语言:javascript
复制
<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>
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-09-21 18:59:42

解决方案是,我必须更新到mod_wsgi 4.3.0并更改配置,就像Graham在他的答案(或这里)中提到的那样。

除了更新之外,我还删除了指令AuthFormLoginRequiredLocation,并添加了一个ErrorDocument指令。

现在的工作配置如下所示:

代码语言:javascript
复制
<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>
票数 0
EN

Stack Overflow用户

发布于 2014-09-20 05:25:47

首先,您必须使用mod_wsgi 4.3.0使WSGIAuthGroupScript使用Apache2.4。Apache2.4的内部结构从2.2改变到最近才意识到这一点。这个问题只在最新版本的mod_wsgi中得到了解决。如果您被困在Linux发行版的旧mod_wsgi版本上,并且拒绝更新,那么您将倒霉。

第二,您必须使用:

代码语言:javascript
复制
Require wsgi-group test

在Apache 2.4中,您不能使用:

代码语言:javascript
复制
Require group test

如果使用WSGI auth提供者。

这同样是因为Apache2.4中的更改。

总的来说,我建议您将您的问题张贴到mod_wsgi邮件列表,我将在那里处理它。在StackOverflow上,任何冗长的反复讨论都是一个可怕的地方,我可以很容易地看到它变成这样。

不管它有什么价值,我一直热衷于研究mod_session与mod_wsgi的交互,但从未有机会帮助您探索这个问题,如果您转而跳到mod_wsgi邮件列表中,那么肯定会很有趣。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25932109

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档