如何获取客户端机器的登录用户名
本文关键字:机器 登录 用户 客户端 何获取 获取 | 更新日期: 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,下面是它们的列表:
服务器变量列表