如何在web2py中获取内网应用的Windows用户ID?

3 投票
3 回答
1033 浏览
提问于 2025-04-16 04:37

我正在使用web2py来搭建一个内部网站,我需要在我的控制器中获取当前登录的Windows用户的ID。请问有没有什么函数可以做到这一点?

3 个回答

-1

我不知道这个方法是否有效,但你可以试试psutil模块,它应该在Windows和Unix系统上都能使用。

import os, psutil

ownPid = os.getpid() #This one works in Windows, but os.getuid() does not...
ownUid = [p.uid for p in psutil.process_iter() 
                 if p.pid == ownPid][0]
1

如果你的意思是想要在服务器端获取当前浏览器用户的Windows ID,web2py是无法做到这一点的。因为Windows身份验证和网络协议没有关系。

4

你需要在你的网页服务器上安装一个NTLM认证模块,比如mod_sspi或者mod_ntlm,然后检查请求中的REMOTE_USER环境变量。这里有一个在Django中类似的做法:

http://brandonkonkle.com/blog/2008/sep/13/django-apache-and-mod_auth_sspi/

撰写回答