Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在asp.net中检测用户域_C#_Asp.net_.net 3.5 - Fatal编程技术网

C# 在asp.net中检测用户域

C# 在asp.net中检测用户域,c#,asp.net,.net-3.5,C#,Asp.net,.net 3.5,如果我有一个通用的公共asp.net网站,我想知道谁在访问我的网站(我知道如何访问),但更重要的是,我想知道用户来自哪家公司(这是一名microsoft员工在查看我的网站,还是一名可口可乐员工在查看我的网站,或者此人正在使用家用电脑查看我的网站)。如何确定计算机的域名?希望这是有意义的 更新:在大多数公司,我看到公司名称包含为“完整计算机名”或“计算机名、域和工作组设置”中的域值。这正是我希望访问的内容。您不能绝对肯定地做到这一点-它也面临着与类似的问题,尽管您可能取得了一些成功 您可以尝试的是

如果我有一个通用的公共asp.net网站,我想知道谁在访问我的网站(我知道如何访问),但更重要的是,我想知道用户来自哪家公司(这是一名microsoft员工在查看我的网站,还是一名可口可乐员工在查看我的网站,或者此人正在使用家用电脑查看我的网站)。如何确定计算机的域名?希望这是有意义的


更新:在大多数公司,我看到公司名称包含为“完整计算机名”或“计算机名、域和工作组设置”中的域值。这正是我希望访问的内容。

您不能绝对肯定地做到这一点-它也面临着与类似的问题,尽管您可能取得了一些成功

您可以尝试的是对IP地址进行反向查找,并获取地址的域部分(请参阅前面的链接以获取代码示例)

然而,特别是对于较小的公司,这可能只是解决ISP的域,或者根本无法解决。对于家庭用户来说,几乎可以肯定的是,它只是ISP


你可以尝试的另一件事是在IP地址上做一个WHOIS。这可能会给你一个公司的指示;同样,对于较小的公司来说,这更可能只是一个ISP。

您可以使用Request.ServerVariables(“remote\u addr”)来查找从客户端传递给您的ip地址,然后使用它来找出它的来源。不过要提醒一下,ip地址可能会被欺骗,而且您可能只是获取代理服务器的地址,因此这些内容并不准确

在你得到ip地址后,你需要做一个whois查找来找出它来自谁。您可能需要查找whois api


<>也可以考虑通过某种形式的Web日志分析或其他分析工具,以批处理的形式获取相同的信息。因为所有这些信息很可能都存储在web服务器日志中

如果用户没有使用这些凭据登录到您的公共网站,您就无法访问计算机名/域名凭据。如果是这种情况,您可以使用以下方式访问远程登录的用户:

Request.ServerVariables["REMOTE_USER"]
要接近您的要求,唯一的方法是使用第三方软件。Maxmind.com只是一家提供地理定位服务的公司。你可以看到他们提供了一个新的服务

如果用户从公司网络访问您的网站,Maxmind应将该数据作为其数据库的一部分,然后您可以使用该数据库

请记住,组织指的是IP地址(netblock)所有者。因此,如果用户从家中、移动设备或公司网络以外的任何地方访问您的网站(或Maxmind有不正确或不完整的数据),则数据将丢失、误导或完全错误。组织需要足够大,以拥有并注册自己的IP地址块


Google Analytics中也可能提供此信息。

如果用户是从工作场所登录的,并且他们在Microsoft工作,我猜他们只能使用工作凭证登录,对吗?