我在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中工作正常,但在远程服务器上却没有。
编辑:我找到了this,它似乎应该有效,但它并没有。实际上,我甚至没有.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是否正在使用它。