如何获取用户登录到我的应用程序的机器帐户
本文关键字:应用程序 我的 机器 登录 何获取 获取 用户 | 更新日期: 2023-09-27 18:29:18
在Form authentication
的情况下,如何获取访问应用程序的用户机器帐户。
我使用以下方法,但它没有获得所需的数据:
protected string[] TrackUser()
{
System.Web.HttpContext context = System.Web.HttpContext.Current;
string IP = context.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
string compName = (Dns.GetHostEntry(Request.ServerVariables["remote_addr"]).HostName);
string account = Request.ServerVariables["AUTH_USER"];
string[] user_network_data = new string[3];
if (!string.IsNullOrEmpty(IP))
{
string[] addresses = IP.Split(',');
if (addresses.Length != 0)
{
IP = addresses[0];
}
}
else
{
IP = context.Request.ServerVariables["REMOTE_ADDR"];
}
user_network_data[0] = IP;
user_network_data[1] = compName;
user_network_data[2] = account;
return user_network_data;
}
我认为您只是从请求中获取了错误的初始信息。试试这些:
string IP = context.Request.UserHostAddress;
string compName = context.Request.UserHostName;
string account = context.Request.LogonUserIdentity.Name;
我认为,一旦有了正确的数据,代码的其余部分应该可以正常工作。