Code :
System.Security.Principal.WindowsImpersonationContext impersonationContext;
impersonationContext =
((System.Security.Principal.WindowsIdentity)User.Identity).Impersonate();
//access network resources.
impersonationContext.Undo();
web.config :
<authentication mode="Windows">
</authentication>
<identity impersonate="true"
userName="user"
password="password"></identity>
Comme le montre clairement le fichier web.config, l'application fonctionne en mode impersonnel. J'ai besoin de me faire passer temporairement pour accéder à une ressource du réseau. Je fais cela comme indiqué ci-dessus.
Cela fonctionne bien sur le serveur si je navigue vers le site web sur l'IE local installé sur le serveur mais lorsque j'accède à l'application depuis mon PC ou tout autre PC, j'obtiens un accès refusé.
En fait, tout ceci se passe dans un environnement de domaine d'entreprise. Ainsi, dans les deux cas, IE transmet un jeton authentifié valide.
Une idée de ce qui se passe ? Merci.