1. 在ASP.NET中专用属性: 
获取服务器电脑名:Page.Server.ManchineName 
获取用户信息:Page.User 
获取客户端电脑名:Page.Request.UserHostName 
获取客户端电脑IP:Page.Request.UserHostAddress 2. 在网络编程中的通用方法: 
获取当前电脑名:static System.Net.Dns.GetHostName() 
根据电脑名取出全部IP地址:static System.Net.Dns.Resolve(电脑名).AddressList 
也可根据IP地址取出电脑名:static System.Net.Dns.Resolve(IP地址).HostName 3. 系统环境类的通用属性: 
当前电脑名:static System.Environment.MachineName 
当前电脑所属网域:static System.Environment.UserDomainName 
当前电脑用户:static System.Environment.UserName 

解决方案 »

  1.   

    可能是我没有说清楚,我们公司是局域网,现在想对公司员工登陆网站时限制每个人的权限,所以需要一个唯一的标志符,如IP或MAC,当员工登陆时,取得员工计算机的内网IP地址,从而进行判断他的权限。哪位有高见,请多多发表啊,如果有完整代码 最好。
      

  2.   

    这么做有点风险啊,IP和MAC地址改变后不久权限全部管用了吗?还是采用功能授权的好啊,兄弟
      

  3.   

    是相应的MAC或IP给他相应的权限,并且还要结合其他判断的,现在的问题是得不到他的内网IP,急哈
    不过还是谢谢啦,你的建议我会考虑下的。
      

  4.   

    为什么得不到内网IP了?如果你的网站是放在局域网内的机器,不通过公网登录的,得到的就是内网的IP吧?
    但,按你这种做法,IP地址变了怎办?
      

  5.   

    我用这个方法去得,
            if (Request.ServerVariables["HTTP_VIA"] != null)
            {
                user_IP = Request.ServerVariables["HTTP_X_FORWARDED_FOR"].ToString();
            }
            else
            {
                 user_IP = Request.ServerVariables["REMOTE_ADDR"].ToString();
            }
            Response.Write(user_IP);
    可是
    Request.ServerVariables["HTTP_X_FORWARDED_FOR"]得到的总是NULL

    user_IP = Request.ServerVariables["REMOTE_ADDR"]得到的是代理服务器的IP地址
      

  6.   

    这些方法我试过了,得到Ip地址是可以的,但想得到MAC地址是比较难的