Python:获取用户查看页面的Windows用户名?

AP2*_*257 5 python windows-authentication django-authentication

Python/Django中是否有一种方法可以从未在本地运行的应用程序中获取当前登录的Windows用户的用户名?

更新:对不起,澄清一下,我的意思是查看网页的用户Windows用户名,而不是运行服务器的用户.

我试过了两个:

 current_user = os.environ.get("USERNAME")
 current_user_getpass = getpass.getuser()
Run Code Online (Sandbox Code Playgroud)

但我认为他们正在返回运行服务器的用户的名字.

谢谢!

进一步更新:我不太关心安全性.用户欺骗用户名真的没关系.重要的是方便.我只需要一种获取用户名的方法,而无需用户使用密码或安装客户端软件.有任何想法吗?

gra*_*ity 2

三种方法,都行不通。

  1. 使用Ident (AUTH) 协议从技术上讲,它是跨平台的。

    ...除了能够返回真实用户名而不是静态字符串的 Windows 身份服务器正好为零。

    编辑:显然Retina Scan Identd可以做到这一点。(惊人的。)

  2. 需要 HTTPNTLMNegotiate身份验证。您得到的不仅仅是用户名检查,

    ...除了 NTLM 不安全之外,只有 Internet Exploder 和 Firefox 支持它,并且默认情况下它们仅在 LAN(内联网)内使用它。Negotiate能够使用更安全的 Kerberos,但它(显然)在服务器和客户端上都需要 Kerberos。如果 Windows PC 在域中,那就太好了。如果不...

  3. 如果您控制所有客户端计算机,则可以使用简单的 SSL 客户端证书身份验证。适用于所有现代浏览器。

    ...但每个用户都需要自己的证书。创建内部使用的CA并颁发证书很简单;让它们在客户端计算机上安装并运行 - 事实并非如此。