The following are theoretical knowledge, unproven.
System.Web The following configuration section
<identity impersonate= "true" />
or <identity impersonate= "true" userName= "accountname" password= " Password " />
You can also use code to impersonate an identity by calling the Windows API, which is in place: http://www.cnblogs.com/awpatp/archive/2010/02/02/1662277.html
Note impersonation is local to a particular thread. When code changes threads, such as when using thread pooling, the new thread executes using the process identity by DEFA Ult.
Inpersonation is not compatible with IIS Integrated mode (ASP. Integrated mode is unable to impersonate the request identity in the beginrequest and Au Thenticaterequest pipeline stages.), can be adjusted by one configuration: http://www.allenconway.net/2010/11/how-to-use-impersonation-in-aspnet.html
<
validation
validateIntegratedModeConfiguration
=
"false"
/>
http://mvolo.com/breaking-changes-for-aspnet-20-applications-running-in-integrated-mode-on-iis-70/
It might be easier to have the program run under a generic account (application pool identity) relative to Imperonation, and then give the generic account enough permissions
Some rumors about ASP. Impersonation