我在Rest Django框架中遇到基本身份验证问题。当我在locallhost身份验证上运行项目时正常工作。我在请求标头中发送登录信息(授权:基本cm9vdDoxMjM0)。在我的API视图中,参数request.user返回登录用户。 但是如果我在服务器上的生产环境中尝试项目,那么参数request.user将返回值" AnonymousUser"。 Django rest framewrok使用mod_fcgid在服务器上运行。
我的.htaccess:
AuthType None
Allow from All
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ /projekty/qgame/mysite.cgi/$1 [QSA,L]
我的settings.py:
REST_FRAMEWORK = {
'DEFAULT_AUTHENTICATION_CLASSES': (
'rest_framework.authentication.BasicAuthentication',
),
}
我认为需要修改Apache配置。你知道它会是什么吗?它可以像this这样的东西吗?
感谢
答案 0 :(得分:1)
感谢您的回答。但是,我阅读了几个主题,并找到了解决方案。当我向.htaccess添加这个重写规则时:
RewriteCond% {HTTP: Authorization} ^ (. *)
RewriteRule. * - [E = HTTP_AUTHORIZATION:% 1]
授权标题已经可以读取。