如何获取客户端机器的登录用户名

本文关键字:机器 登录 用户 客户端 何获取 获取 | 更新日期: 2023-09-27 18:24:12

如何获取客户端机器的LoggedIn用户名

没有客户端提供useid和密码。。。(当用户访问我需要获取的页面时,他/她登录的用户Id)

我试过

string clientMachineName;
clientMachineName = (Dns.GetHostEntry(Request.ServerVariables["remote_addr"]).HostName);
Response.Write(clientMachineName);

如何获取客户端机器的登录用户名

如果您在域环境中,您可以启用Windows身份验证,这将允许用户绕过显式登录,转而使用NTLM身份验证。IE和Chrome可以开箱即用,FF有一个配置设置。

编辑

如果你只关心支持ActiveX的浏览器/OS,那么你可以使用具有特定ActiveX权限的Javascript(从这里开始):

<script type="text/javascript"> 
<!-- 
var WinNetwork = new ActiveXObject("WScript.Network"); 
alert(WinNetwork.UserName); 
//--> 
</script>

试试这个可能是它的工作根据您的要求

Request.ServerVariables["LOGON_USER"]

if Request.ServerVariables("LOGON_USER")在ASP.NET中返回空字符串该的Microsoft Guideline

您可以使用Request.LogUserIdentity获取客户端详细信息。

Response.Write(Request.LogUserIdentity。Name);

在某些情况下,ServerVariables似乎已经为C#贬值。

如果是这样,你需要这样做:

string login = System.Security.Principal.WindowsIdentity.GetCurrent().Name;

如果您真的想使用ServerVariables,请记住它们在C#中是CaSeSensitive。正确的外壳几乎总是UPPER,下面是它们的列表:

服务器变量列表