如何在web2py中获取内网应用的Windows用户ID?
我正在使用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/