Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Django-使用远程用户进行身份验证-如何在dev服务器中进行测试?_Python_Django_Debugging_Authentication - Fatal编程技术网

Python Django-使用远程用户进行身份验证-如何在dev服务器中进行测试?

Python Django-使用远程用户进行身份验证-如何在dev服务器中进行测试?,python,django,debugging,authentication,Python,Django,Debugging,Authentication,我想使用django.contrib.auth.middleware.RemoteUserMiddleware进行身份验证,如下所述: 问题是,我如何在没有Apache的开发环境中测试这一点?i、 e.我可以在本地设置中设置远程用户吗 编辑(添加设置) 然后,我的本地_设置中有以下内容: os.environ['REMOTE_USER'] = "mmatyas" 我还尝试了“HTTP\u REMOTE\u USER”变体。谢谢 在您的开发环境中,您可以在用于启动开发服务器的同一命令提示符中设

我想使用django.contrib.auth.middleware.RemoteUserMiddleware进行身份验证,如下所述:

问题是,我如何在没有Apache的开发环境中测试这一点?i、 e.我可以在本地设置中设置远程用户吗

编辑(添加设置)

然后,我的本地_设置中有以下内容:

os.environ['REMOTE_USER'] = "mmatyas"

我还尝试了“HTTP\u REMOTE\u USER”变体。谢谢

在您的开发环境中,您可以在用于启动开发服务器的同一命令提示符中设置环境变量

如果在Unixy机器上,则类似于导出远程\u USER=“duncan”


您还可以通过编辑manage.py并设置
os.environ['REMOTE_USER']=“duncan”

来完成此操作。您可以编写一些WSGI中间件并将其设置在那里,然后确保WSGI中间件将您的django应用程序包装在WSGI堆栈中。有很多关于编写wsgi中间件的教程,这将是一页简短的代码。简单的豌豆柠檬挤压

必须在启动dev服务器的环境中设置该变量。通常只是:

REMOTE_USER=myuser ./manage.py runserver

嗨,乔丹,这些方法似乎都不适合我。不确定我是否遗漏了什么。我可以看到我正在设置os.environ['REMOTE_USER'],因为我可以稍后从视图中记录它。但是request.META['REMOTE_USER']没有被设置,我认为这就是身份验证没有发生的原因。我将用相关设置信息编辑我的问题-可能我做错了什么。感谢您,我能够使用Apache和SetEnv远程用户“mmatyas”来实现这一点。在没有Apache的情况下使用它进行开发还是很好的…添加
os.environ['REMOTE\u USER']=“duncan”
到manage.py将不会设置
request.META['REMOTE\u USER']
这是一个很老的问题,但从那以后你找到答案了吗?我现在也在挣扎,我没有。然而,我最终切换了我的身份验证机制。我不是在Apache级别上做,而是在Django级别上做。因此,我在开发和生产过程中使用了
django.contrib.auth.backends.modelbend
django\u auth\u ldap.backend.LDAPBackend
REMOTE_USER=myuser ./manage.py runserver