C# 从虚拟机获取用户名

C# 从虚拟机获取用户名,c#,asp.net-mvc,model-view-controller,intranet,C#,Asp.net Mvc,Model View Controller,Intranet,我有一个小的web应用程序,它目前托管在一个虚拟机中。此计算机具有Windows 8+IIS 7 作为应用程序的一部分,我需要获取访问此血腥web应用程序的用户的用户名。但是每次我尝试获取当前用户时,我总是获取虚拟机名称 如何正确获取访问该应用程序的计算机的名称。在虚拟机上?在控制器上,无论是使用Windows还是Forms Auth,您都应该能够通过以下方式获取用户: this.User.Identity.Name 或从HTTP上下文: HttpContext.Current.User.Id

我有一个小的web应用程序,它目前托管在一个虚拟机中。此计算机具有Windows 8+IIS 7

作为应用程序的一部分,我需要获取访问此血腥web应用程序的用户的用户名。但是每次我尝试获取当前用户时,我总是获取虚拟机名称


如何正确获取访问该应用程序的计算机的名称。在虚拟机上?

在控制器上,无论是使用Windows还是Forms Auth,您都应该能够通过以下方式获取用户:

this.User.Identity.Name
或从HTTP上下文:

HttpContext.Current.User.Identity.Name

如果用户是通过Active Directory登录的,则这应该可以:


到目前为止,您尝试了什么?这是ASP.NET MVC吗?仅当您有关于设计模式的特定问题时,才应使用
模型视图控制器
标记。当您对框架有疑问时,请使用
asp.net mvc
标记。我已经使用了“GetIPHost.HostName”、“Security.Principal.WindowsIdentity.GetCurrent()”和“Environment.UserName”。但不起作用..
访问此血腥web应用程序的用户的用户名
。用户是否使用Active Directory登录?是。所有用户都使用Active Directory登录。很遗憾,我的用户名是“IIS APPPOOL\”。听起来您可能在IIS中启用了匿名登录。确保该功能已禁用,并启用集成安全。谢谢Drew Kennedy。。现在问题解决了。。
System.Security.Principal.WindowsPrincipal(System.Security.Principal.WindowsIdentity.GetCurrent()).Identity.Name;