When you have impersonation set to true with no user name and password
specified you will be impersonating the authenticated IIS user. This means
that if you are using Anonymous authentication (this will always be used if
it is checked in IIS...even if you have Windows Integrated checked) you
will be running the thread as the IIS Anonymous user. Based on the
information you provided, it looks like this is what is happening for you.
A second choice would be to specify the user you want to impersonate, but
there is an additional step needed in order to get this to work. You will
have to add the ASPNET user to the policy called "Act as a part of the
Operating System" and then refresh the policies on the machine.
Here is an article that covers the three impersonation choices. There is
only one of the three that can be done without the policy I mentioned above
and it is simply <identity impersonate = "true">
306158 INFO: Implementing Impersonation in an ASP.NET Application
http://support.microsoft.com/?id=306158
This posting is provided "AS IS" with no warranties, and confers no rights.
Holly