System.Web.HttpContext.Current.User.Identity.Name Vs System.Environment.UserName in ASP.NET
Solution 1:
Description
System.Web.HttpContext.Current.User.Identity.Name
Gets or sets security information for the current HTTP request. (The Name of the Logged in user on your Website)
System.Environment.UserName
Gets the user name of the person who is currently logged on to the Windows operating system.
More Information
- MSDN - HttpContext.User Property
- MSDN - Environment.UserName Property
Solution 2:
System.Environment.UserName
returns the identity under which the app pool that hosts your web app is running. If you're using Windows authentication and impersonation then it will be the actual user's name, however in all cases you're better off using the information provided by the HTTP context. There is no performance hit either way.