web-dev-qa-db-fra.com

IIS - L'accès au chemin est refusé

Cette question a été posée comme des millions de fois, mais j'ai essayé ces solutions et je n'arrive toujours pas à comprendre pourquoi cette erreur se produit:

L'accès au chemin "\ server1\Folder1\Folder2\Folder3\file1.dwg" est refusé.

Voici l'action qui renvoie l'erreur:

    public ActionResult Download(string fileName)
    {
        fileName = fileName + ".dwg";
        string path = Path.Combine(@"\\server1\Folder1\Folder2\Folder3\", fileName);
        return File(path, "application/octet-stream", fileName);
    }

J'ai essayé de donner des autorisations à "Folder3" pour plusieurs noms d'utilisateur, par exemple "SERVER1\SERVICE RÉSEAU" - Contrôle total.

L'application s'exécute sous Site Web par défaut. L'application s'exécute sous DefaultAppPool et DefaultAppPool a l'identité de "NetworkService".

Le code suivant donne l'identité "SERVICE RÉSEAU".

WindowsIdentity identity = HttpContext.Request.LogonUserIdentity;

L'application fonctionnait bien (même répertoire de téléchargement) sur mon propre ordinateur, mais après le déploiement, ce problème est apparu.

Le serveur exécute Windows 2008 R2 SP1 et IIS 7.5.

15
Chopman

essaye ça:

"L'accès au chemin 'xxxxxx' est refusé."

Comme le dit l'erreur, vous devez attribuer des autorisations aux dossiers

  1. Dossier clic droit
  2. Accédez à l'onglet Sécurité
  3. Cliquez sur Modifier
  4. Cliquez sur Ajouter
  5. Cliquez sur Addvance
  6. Trouve maintenant
  7. Donner la permission à IIS_IUSRS (Controle total)
  8. Cliquez sur OK
  9. Cliquez sur OK
  10. Cliquer sur Full Control in allow
  11. Cliquez sur OK
  12. Exécutez à nouveau l'application

Remarque: Si les choses ci-dessus ne fonctionnent pas, essayez de donner la même autorisation à NETWORK, NETWORK SERVICE Utilisateurs

33
Ganesh_Devlekar

Pour mon cas, je suis allé dans le dossier racine de mon projet, fait un clic droit dessus et ouvert la fenêtre des propriétés et décoché l'attribut Lecture seule. Après avoir cliqué sur OK, tout a commencé à fonctionner.

2
Nurhak Kaya

Si l'authentification anonyme est activée sur votre serveur, définissez les autorisations de lecture pour le compte IUSR. Pour autoriser l'accès aux identités du pool d'applications, définissez des autorisations de lecture pour le groupe IIS_USERS. Pour le chemin UNC, assurez-vous qu'il existe une autorisation appropriée pour votre dossier partagé (voir https://technet.Microsoft.com/en-us/library/cc726004 (v = ws.11) .aspx pour détails).

1
Alexander