• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 347
  • Last Modified:

web page thinks logged on user = "NETWORK SERVICE"

I've created the method below to return the name of the user logged onto the PC.  ex:  john.doe

Works great when running from my own PC.  But when we put the code on our server and run it, the method returns a value of "NETWORK SERVICE" regardless of who runs the web page from their PC.

I need to know who is logged onto the site because that is used in the functionality of the site (ex:  record who made changes to data, etc.)

Thanks in advance for help,

Eric
public static string GetWindowsName()
  {
      string domainUser;
      string[] NameArray;

domainUser = System.Security.Principal.WindowsIdentity.GetCurrent().Name;
      
NameArray = domainUser.Split('\\');

NameArray = User.Identity.Name.Split('\\');

return NameArray[1];
  }

Open in new window

0
Eric3141
Asked:
Eric3141
1 Solution
 
Brad HoweDevOps ManagerCommented:

Hi,
The following code  "System.Security.Principal.WindowsIdentity.GetCurrent().Name" is used to what user the thread is executing as.

Please take a look at impersonation in this tech article. - http://support.microsoft.com/kb/306158

To correct this, you will need to configure the application to impersonate the Windows user who is accessing it by adding the following element after the authentication element in the Web.Config:

<identity impersonate="true"/>

If you do not set impersonate to true then the worker process runs as the Network Service or ASPNET account, depending on your version of IIS.

Cheers, Hades666
0
 
Eric3141Author Commented:
Worked great - thanks!
0

Featured Post

[Webinar] Database Backup and Recovery

Does your company store data on premises, off site, in the cloud, or a combination of these? If you answered “yes”, you need a data backup recovery plan that fits each and every platform. Watch now as as Percona teaches us how to build agile data backup recovery plan.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now