我如何获得当前用户名在。net使用c# ?


当前回答

你可能还想尝试使用:

Environment.UserName;

像这样…:

string j = "Your WindowsXP Account Name is: " + Environment.UserName;

希望这对你有所帮助。

其他回答

string userName = System.Security.Principal.WindowsIdentity.GetCurrent().Name;

使用实际登录用户的System.Windows.Forms.SystemInformation.UserName作为环境。UserName仍然返回当前进程正在使用的帐户。

我从已有的答案中尝试了几种组合,但它们给了我

DefaultAppPool
IIS APPPOOL
IIS APPPOOL\DefaultAppPool

最后我用了

string vUserName = User.Identity.Name;

这给了我实际的用户域用户名。

Use:

System.Security.Principal.WindowsIdentity.GetCurrent().Name

这将是登录名。

我完全赞同其他的答案,但我想强调另一个方法,它说

String UserName = Request.LogonUserIdentity.Name;

上述方法返回的用户名格式为:DomainName\ username。例如,EUROPE\UserName

这不同于:

String UserName = Environment.UserName;

显示格式为:UserName

最后:

String UserName = System.Security.Principal.WindowsIdentity.GetCurrent().Name;

它给出:NT AUTHORITY\IUSR(在IIS服务器上运行应用程序时)和DomainName\UserName(在本地服务器上运行应用程序时)。