Python Django-使用远程用户进行身份验证-如何在dev服务器中进行测试?
我想使用django.contrib.auth.middleware.RemoteUserMiddleware进行身份验证,如下所述: 问题是,我如何在没有Apache的开发环境中测试这一点?i、 e.我可以在本地设置中设置远程用户吗 编辑(添加设置) 然后,我的本地_设置中有以下内容: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”变体。谢谢 在您的开发环境中,您可以在用于启动开发服务器的同一命令提示符中设
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