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

标签 python iis fastcgi

我已经使用 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/

相关文章:

Python 正则表达式 : Get regex pattern in a text file and store in an array or list

python - Alembic 不在自动生成中添加 Cascade 信息?

Python tkinter 密码强度检查器 GUI

asp.net - 将 Visual Studio 切换为使用本地 IIS 服务器后,找不到图像和样式文件

python - 如何在 numpy 数组的每一列中找到第一个非零值?

iis - 我可以在实时 Azure 云上使用自签名证书吗?

php - 将 PHP Web 服务和 ASP.NET 网站连接到同一个 MySQL

django - 类 'psycopg2.InterfaceError' : connection already closed

php - 在 Docker 中通过 Nginx 的多个版本的 PHP

apache - 在 fcgi 下在 Apache 上构建和运行 go 脚本