ASP.net核心(RC2):获取IP和用户名

ASP.net Core (RC2): Get IP and Username

我发现这个 solution 在 ASP.Net Core RC2 (.Net Framework) Web 应用程序中获取远程 IP 地址。这很好用。也可以获取客户端用户名(无需身份验证)?

谢谢 迈克尔

正如 Dmitry 所躲避的那样,您无法在未经身份验证的情况下获取客户端用户名。

在低级别上,访问远程 IP 地址的方式是通过 http headers。它在名为 REMOTE_ADDR 的 header 中发送。

因此,当您调用 HttpContext.Connection.RemoteIpAddress 获取客户端 IP 地址时,它在后台所做的是从 REMOTE_ADDR header 返回值。但是,未经身份验证的用户的客户端用户名没有 header 值。