Environment.UserName returning application pool name instead of username
11,056
Solution 1
Try something like this:
if (System.Web.HttpContext.Current.User.Identity.IsAuthenticated)
{
string username = System.Web.HttpContext.Current.User.Identity.Name;
}
Important note: You need to configure IIS to enable integrated security and disable anonymous logon.
Note that Environment.Username
returns the Username on the current Thread.
Solution 2
Try using
Request.ServerVariables["LOGON_USER"]
It will return DOMAIN\USERNAME
. You can then split it etc.
Solution 3
This worked for me. Use Environment.GetEnvironmentVariable("USERNAME") for current Login username.
Link :https://www.c-sharpcorner.com/uploadfile/puranindia/the-environment-class-in-C-Sharp/
Author by
StevieB
Updated on June 21, 2022Comments
-
StevieB almost 2 years
The following line
Environment.UserName
In debug mode in visual studio returns the identity of the user like I need.
Then when I set up my site in IIS and run the code the same line returns the name of the application pool which the site uses.
How can I get it to still return the user name ?