2009-10-16 9 views

Répondre

4

Le problème ne réside peut-être pas dans la nature UNC du chemin auquel vous essayez d'accéder, mais avec les informations d'identification de sécurité. Si, par exemple, vous exécutez votre application asp.net sous le compte Système, vous ne pourrez pas accéder aux partages réseau car System est un compte local (pas un compte de domaine).

Je vous suggère de vérifier inetmgr sous quel utilisateur votre pool d'applications est en cours d'exécution (sous l'onglet Identité). Essayez d'utiliser un compte de domaine pouvant accéder à ce partage.

enter image description here

1

Le compte « en charge » lorsque la demande d'accès aux fichiers est délivré doit simplement être manque des informations d'identification pour accéder au partage/ressource trouvée à l'emplacement UNC.

Vous devez d'abord déterminer quel compte est effectivement utilisé, car cela peut varier, et fournir les privilèges appropriés. Par défaut, la plupart des programmes, y compris les programmes .NET (dans une moindre mesure) fonctionneront dans le contexte de sécurité du compte qui a lancé le programme, mais cela ne tient pas, dans de nombreux cas, par exemple si le programme est un service , ou si elle utilise certains objets DCOM, ou si elle usurpe l'identité d'autres comptes etc ... Aussi .NET a un système relativement complexe de délégation/usurpation d'identité. Une façon de diagnostiquer ce problème consiste à ajouter un audit au niveau du fichier/répertoire UNC. En cas d'échec, un événement doit apparaître, indiquant le nom de connexion du compte qui a tenté d'accéder au partage.

1

La solution est maintenue sous la fonctionnalité d'emprunt d'identité et de délégation de asp.net. Il existe certaines constructions qui fournissent un schéma de sécurité basé sur un jeton pour appeler une opération file.copy par exemple avec la cible étant un emplacement UNC. Vous pouvez le vérifier here.

Questions connexes