使用FastCGI将Windows身份验证上下文从IIS传递到Python

我已经在
Windows / IIS 10.0上使用
wfastcgi在Windows域帐户下运行的Python 3.6成功设置了Flask应用示例.

现在我正在尝试将IIS Windows身份验证用户信息传递给我的Flask应用程序.我在IIS中只启用了Windows身份验证,我的浏览器验证成功.

如何找出哪个用户在WSGI中访问该站点?我没有运气检查环境变量和HTTP标头.

PHP似乎有一个fastcgi.impersonate-Option,但似乎没有Python的附件.

最佳答案 您提到您已检查环境变量和HTTP标头.如果您使用os.environ.get [‘REMOTE-USER’]检查环境变量,那么您应该收到一个空字符串,因为您的Python实例在服务器上本地运行且不是远程的.除非你使用类似ISAPI重写的东西,否则IIS也不会将REMOTE-USER写入标题.

最简单的解决方案是检查IIS明确传递给Flask的环境变量:

from Flask import request

username = request.environ('REMOTE_USER')
点赞