2015-02-06 252 views
3

這個問題已經被問這樣萬次,但我已經嘗試了這些解決方案,但還是無法找出爲什麼這個錯誤就要到了:IIS - 對路徑的訪問被拒絕

訪問路徑「\ server1 \ Folder1 \ Folder2 \ Folder3 \ file1.dwg'被拒絕。

這是返回錯誤的操作:

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

我試圖給權限「Folder3」爲多個用戶名,例如「SERVER1 \ NETWORK SERVICE」 - 完全控制。

應用的默認Web站點下運行。應用程序在DefaultAppPool下運行,DefaultAppPool具有「NetworkService」的標識。

下面的代碼提供身份「網絡服務」。

WindowsIdentity identity = HttpContext.Request.LogonUserIdentity; 

該應用程序在我自己的計算機上正常工作(相同的下載目錄),但在部署此問題後出現。

服務器運行的是Windows 2008 R2 SP1和IIS 7.5。

回答

6

試試這個:

"Access to the path 'xxxxxx' is denied."

由於錯誤說您需要分配權限文件夾

  1. 右鍵點擊文件夾
  2. 轉到安全選項卡
  3. 點擊編輯
  4. 點擊上添加
  5. 點擊Addvan CE
  6. 立即查找
  7. 授予權限,以IIS_IUSRS(完全控制)
  8. 點擊OK
  9. 點擊OK
  10. 點擊Full Control在允許
  11. 點擊OK
  12. 再次運行應用程序

說明:如果上面的東西不工作,然後嘗試給相同的權限,以 NETWORKNETWORK SERVICE用戶

0

對於我而言,我去了我的項目的根文件夾,右鍵點擊它,打開屬性窗口和取消選中讀 - 僅屬性。點擊確定後,所有工作都開始了。