【发布时间】:2020-07-28 15:51:35
【问题描述】:
我正在尝试获取当前用户的 IP 地址,它可以在本地运行,但现在我的项目已经上线,它根本没有获取 IP 地址。
这是我正在做的本地工作:
var context = new PrincipalContext(ContextType.Domain);
var principal = UserPrincipal.FindByIdentity(context, System.Web.HttpContext.Current.User.Identity.Name);
【问题讨论】:
-
您可能得到的是机器名而不是 IP。您需要 IP 还是可以接受主机名?
-
@jdweng 是的,非常抱歉。我刚刚更新了代码。我粘贴了错误的行。我需要 IP 地址。
-
您实际上想要完成什么?为什么您的网络应用需要用户的 IP 地址?
-
@DanielMann 这是一个内部应用程序,当他们使用这个特定应用程序时,我需要将用户 IP 地址存储在数据库中。
-
“我需要将用户 IP 地址存储在数据库中” ...这仍然是要求,而不是原因。为什么要存储 IP 地址?那会有什么目的?此外,单个用户可以在不同场合从多个不同的 IP 地址轻松登录应用程序。同样,由于 NAT 等技术,多个用户可能都拥有相同的(公共)IP 地址。所以“用户的 IP 地址”的概念一开始就有些缺陷——现在网络上很少有这样的东西