It has been a while since I've had to do ASP.NET Impersonation, but I was presented with a situation today in which it was required. I figured I would give a few quick tips for doing so, how to impersonate, and how you can debug some of the issues during the process.
In ASP.NET Impersonation, it is done at the entire application level. You simply have to add an entry under the system.web entry in web.config to impersonate a user for the running process.
Note: Because the entire process runs as this user, you may get an error stating that the user does not have permissions to access C:\Windows\Microsoft.NET\Framework\VX.X.X\Temporary ASP.NET Files. To fix this issue, simply go to the stated path, right click to get to properties, and add the user to the directory permissions with write permissions.
Pretty basic for the most part, but just wanted to share because it always takes me a minute to remember the process.