Nous avons une application Web qui copie les fichiers sur un serveur distant de notre domaine (OurDomain). Le problème suivant se produit avec les utilisateurs qui se connectent à leur ordinateur portable avec un autre domaine, puis se connecter à l'application Web avec OurDomain. Les utilisateurs qui se connectent à l'application pour ordinateur portable et Web avec OurDomain \ User n'ont pas ce problème.Utilisation de l'emprunt d'identité ASP.Net avec l'authentification Windows
Nous avons deux formulaires Web:
Le 1er formulaire en ligne ID récupère de l'utilisateur à l'aide System.Security.Principal.WindowsIdentity.GetCurrent()
et envoie ensuite un email avec ce code d'utilisateur. Ce code récupère l'ID de l'utilisateur uniquement si Windows Authentication
est défini sur Enabled
et ASP.Net Impersonation
également sur Enabled
. Si ASP.Net Impersonation
est défini sur Disabled
, l'utilisateur sera Network Service
. Donc, je définis à la fois Enabled et tout ici fonctionne très bien.
Le 2ème formulaire Web copie certains fichiers sur le serveur distant, également sous le domaine OurDomain. Avec Windows Authentication
réglé sur Enabled
et ASP.Net Impersonation
sur Disabled
, alors Network Service
est utilisé pour copier les fichiers sur le serveur distant et sont copiés correctement. D'autre part, Si ASP.Net Impersonation
est défini sur Enabled
, il semble contourner Network Service
et même OurDomain \ User et tente de copier avec, apparemment, les informations d'identification utilisées pour se connecter à l'ordinateur portable (un autre domaine). Les fichiers ne pas copier et je reçois l'erreur L'accès au chemin est refusé
La seule solution que j'ai trouvé est d'ajouter ourdomain \ User dans le dossier, et il est vraiment pas une grosse affaire, mais Je voulais voir pourquoi cela se passait.
Merci.
Je ne peux pas créer/modifier ou modifie en rien utilisateurs dans OurDomain. – vmgmail
Si vous ne disposez pas d'un autre utilisateur du pool d'applications que le service réseau, vous pouvez avoir besoin d'emprunter l'identité. c'est-à-dire que l'application asp.net s'exécutera comme si l'utilisateur connecté au navigateur exécutait un programme sur le serveur Web. Dans ce cas, si l'utilisateur qui s'est connecté au navigateur dispose d'une autorisation sur le dossier distant, la copie du fichier fonctionnera. –