来自C#中ip地址的计算机用户帐户名

时间:2014-07-14 08:26:51

标签: c# asp.net

我需要跟踪同一台PC上的哪个用户帐户正在使用我的软件,这是一个Web应用程序。这可能吗?我只能获取计算机名称而不能获取用户帐户名称。我需要弄清楚它是管理员还是客人。

2 个答案:

答案 0 :(得分:0)

我认为实现这一目标的唯一方法是在Web应用程序中使用Windows身份验证。然后,您可以检查此用户可用的所有声明。

注意:为此,服务器和客户端必须位于同一个域或域之间具有信任的域。

答案 1 :(得分:0)

我尝试了这段代码,效果很好。

public static string GetIP4Address()
    {
        string IP4Address = String.Empty;

        foreach (IPAddress IPA in Dns.GetHostAddresses(HttpContext.Current.Request.UserHostAddress))
        {
            if (IPA.AddressFamily.ToString() == "InterNetwork")
            {
                IP4Address = IPA.ToString();
                break;
            }
        }

        if (IP4Address != String.Empty)
        {
            return IP4Address;
        }

        foreach (IPAddress IPA in Dns.GetHostAddresses(Dns.GetHostName()))
        {
            if (IPA.AddressFamily.ToString() == "InterNetwork")
            {
                IP4Address = IPA.ToString();
                break;
            }
        }

        return IP4Address;
    }