如何使用 Windows 身份验证在 IIS 服务器上的 Flask 应用程序中获取当前用户的用户名?

How do I get the username of the current user in a Flask app on an IIS server using Windows Authentication?

我在 Windows 10 的 IIS 服务器上有一个 Flask 应用程序 (Python 2.7) 运行。服务器配置为使用 Windows 身份验证。我正在使用 HttpPlatformHandler 来执行 Python 代码。

我已验证身份验证有效并且能够看到 Kerberos "Negotiate" 身份验证 header。但是,我找不到访问请求该页面的用户的用户名的方法。

我已经尝试打印整个请求 header 和请求环境,但它不存在。这个 post 似乎是关于我的问题,但其中的代码不正确。 如何将请求者的 Windows 用户名传递给我的 python 代码?

我想访问用户的用户名,以便限制用户访问页面并根据用户从页面中删除某些元素。

事实证明 上的答案也适用于我的配置。我只是下载了 ISAPI_Rewrite 3,将文本复制并粘贴到 httpd.conf 中,并且能够通过在我的 Python 代码中调用 request.headers.get('X-Remote-User') 来访问用户名。

如果用户已登录,您可以使用flask_login.current_user.name获取信息。