2015-01-09 245 views
1

試圖從IIS服務器的另一臺計算機上訪問網絡共享。 代碼工作正常,我的機器「找不到路徑的一部分」尋找一個UNC路徑

return File(path, "application/msexcel",trimmedPath);

上,但是當我嘗試在服務器上,我得到這個

Could not find a part of the path 'r:\results\19262\19262-BA-T1\19262-BA-T1-19262-BA-T1-2_12_11_2014_32C_CST_8870.xlsx'.

如果我複製路徑進入資源管理器中打開它的服務器上。 我使用Windows集成的安全 在IIS我已經設置物理路徑憑據到我的用戶ID

試圖PROC監視器

ProcMon

+1

運行IIS應用程序池進程的用戶是否有權訪問該文件夾? – 2015-01-09 22:17:43

+0

我編輯了你的標題。請參閱:「[應該在其標題中包含」標籤「](http://meta.stackexchange.com/questions/19190/)」,其中的共識是「不,他們不應該」。 – 2015-01-10 01:00:23

回答

0

這是因爲在IIS應用程序池用戶下運行的過程證書。默認情況下,該用戶的權限非常有限。您可以嘗試將其切換到NETWORK SERVICE用戶。

2

除了上述,我覺得你需要通過UNC訪問的路徑,而不是映射驅動器。驅動器使用用戶登錄(或NET USE聲明所提供的證書)的證書映射和IIS可能不使用這些憑據。

0

您必須使用用戶名和密碼模擬您的網站,該用戶名和密碼對您正在訪問的網絡資源擁有完全/適當的權限。

剛冒充你下面的代碼網站書面web.config文件中的System.Web節,

</appSettings> 
<system.web> 
<identity impersonate="true" userName="Charan" password="Ghate"/> 

在這裏,我假設「查蘭」是具有完全訪問權限對網絡資源的用戶名,你正在訪問。 「Ghate」是用戶的密碼。我解決了這個問題;當我試圖訪問網絡上的共享資源(文件)時。所以我認爲這應該是有效的。