我已经使用 wfastcgi 在 Windows/IIS 10.0 上成功设置了示例 Flask 应用程序在 Windows 域帐户下运行 Python 3.6。
现在我正在尝试将 IIS Windows 身份验证用户信息传递到我的 Flask 应用程序。我在 IIS 中仅启用了 Windows 身份验证,并且我的浏览器身份验证成功。
我如何找出哪个用户正在访问 WSGI 中的站点?我已经检查了环境变量和 HTTP header ,但没有成功。
PHP 似乎有一个 fastcgi.impersonate - 选项,但是似乎没有Python的挂件。
最佳答案
您提到您已经检查了环境变量和 HTTP header 。如果您使用 os.environ.get['REMOTE-USER']
检查环境变量,那么您应该收到一个空字符串,因为您的 Python 实例在服务器本地运行,而不是远程。除非您使用 ISAPI 重写之类的东西,否则 IIS 也不会将 REMOTE-USER 写入 header 。
最简单的解决方案是检查 IIS 显式传递给 Flask 的环境变量:
from Flask import request
username = request.environ('REMOTE_USER')
关于python - 使用 FastCGI 将 Windows 身份验证上下文从 IIS 传递到 Python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49592971/