这是我通过IIS托管的第一个.NET Core 2.2 MVC应用程序。
通常在使用时:
System.Security.Principal.WindowsIdentity.GetCurrent().Name
.Substring(System.Security.Principal.WindowsIdentity.GetCurrent().Name
.LastIndexOf('\\') + 1)
您获得用户名,并且该用户名在本地有效。
当站点托管在IIS上时,它返回服务器名称,当然不是我想要的。我需要用户名。 不是计算机名,而是Windows在计算机上登录的用户名。
我已经尝试过了,但是没有成功:
var userId = _httpContextAccessor.HttpContext.User.FindFirst(ClaimTypes.NameIdentifier).Value;