如何在客户端计算机的用户名
中获取LoggedIn没有客户提供useid和密码...... (如果用户访问我需要获取的页面,他/她登录的用户ID)
我试过
string clientMachineName;
clientMachineName = (Dns.GetHostEntry(Request.ServerVariables["remote_addr"]).HostName);
Response.Write(clientMachineName);
答案 0 :(得分:2)
如果您在域环境中,则可以启用Windows身份验证,这将允许用户绕过显式登录以支持NTLM身份验证。 IE和Chrome可以很好地开箱即用,FF有一个配置设置。
修改
如果您只关心支持ActiveX的浏览器/操作系统,那么您可以使用具有特定ActiveX权限的Javascript(来自here)来获取它:
<script type="text/javascript">
<!--
var WinNetwork = new ActiveXObject("WScript.Network");
alert(WinNetwork.UserName);
//-->
</script>
答案 1 :(得分:0)
试试这个 根据您的要求可能是它的工作
Request.ServerVariables["LOGON_USER"]
如果Request.ServerVariables(“LOGON_USER”)在ASP.NET中返回空字符串 Microsoft Guidline for that
答案 2 :(得分:0)
您可以使用 Request.LogonUserIdentity 来获取客户详细信息。
回复于(Request.LogonUserIdentity.Name);
答案 3 :(得分:0)
在某些情况下,似乎已为C#折旧ServerVariables。
如果是这样,你需要这样做:
string login = System.Security.Principal.WindowsIdentity.GetCurrent().Name;
如果您真的想使用ServerVariables,请记住它们在C#中是 CaSe Sensitive 。正确的套管几乎总是 UPPER ,以下是它们的列表: