2013-04-16 26 views
3

我有一個網站,請求用戶通過IIS 6訪問使用集成Windows身份驗證,然後有一個網頁的一部分,測試一個文件存在使用:asp net:文件存在返回爲UNC路徑爲false,但不通過本地主機訪問

File.Exists(sourcePath) 

凡SOURCEPATH是UNC,用戶應該能夠訪問。目前我的問題是,雖然用戶可以訪問此網站之外的UNC路徑,但我得到一個錯誤結果。

現在奇怪的是,該測試是成功的,如果我託管網站的服務器上使用

http://localhost/Site 

,但未能如果我使用

http://[machine name]/Site 

這感覺就像一個權限問題而掙扎以確定這一原因。

額外的細節:

  • UNC路徑是NAS服務器上
  • web配置有身份冒充= 「真」
  • 嘗試添加用戶配置了用戶與訪問UNC在應用程序池中。沒有問題的變化
+0

什麼是您的源路徑是什麼樣子?當然沒有給我們任何敏感信息。 'http:// localhost/Site'和'http:// [機器名稱]/Site'不是UNC路徑。 – McCee

+0

@McCee示例sourcePath類似於\\\ [NAS服務器] \ share \ directory \ example.pdf – Tadhg

+1

當設置identity impersonate =「true」'時,您是否提供了特定的登錄帳戶?即'' – McCee

回答

5

你要確保冒充爲UNC路徑身份,當你明確地設置用戶名和密碼,就像這樣:

<identity impersonate="true" userName="accountname" password="password" /> 
0

這聽起來像是Kerberos的問題。我猜想沒有一個SPN configured正確的應用程序池正在運行的身份。

相關問題