如何获取用户登录到我的应用程序的机器帐户

本文关键字:应用程序 我的 机器 登录 何获取 获取 用户 | 更新日期: 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;

我认为,一旦有了正确的数据,代码的其余部分应该可以正常工作。