繁体   English   中英

Django中的HTTP_AUTHORIZATION标头

[英]HTTP_AUTHORIZATION header in Django

我在django中写了一个简单的检查,它需要在一些请求中传递访问令牌(我正在使用装饰器)。

    authorization = request.META.get('HTTP_AUTHORIZATION', None)

    # Forbid access when no access token, or an invalid one, is provided
    form = AccessTokenForm({ 'access_token': authorization })
    if not form.is_valid():
        raise exceptions.HttpDeniedException()

这与django的开发服务器一起运行良好,但最近我使用Apache进行部署,现在它不再起作用了,因为authorisation变量是None 以前有人遇到过类似的问题吗? 客户端将头部作为Authorization传递; 再次,这在localhost中工作正常,但在远程服务器上没有。

编辑:我发现了这一点 ,它似乎应该有效,但事实并非如此。 实际上,我甚至没有.htaccess文件,添加一个文件似乎根本没有任何效果。 以下是内容:

RewriteEngine On
RewriteRule ^(media/.*)$ - [L]
RewriteRule ^(static/.*)$ - [L]
RewriteCond %{REQUEST_URL} !(dispatch.fcgi)
RewriteRule ^(.*)$ dispatch.fcgi/$1 [QSA,L,E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]

问题是,我甚至不确定Apache是​​否正在使用它。

这里似乎有这个问题的票。 只需将以下内容添加到apache2.conf:

WSGIPassAuthorization on

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM