2008-11-14 103 views
1

我有一個web服務運行在共享點上,在一個沼澤標準的Server2003/IIS6設置。此webservice需要打開並從同一個域中另一臺計算機上的共享中讀取文件。此刻我得到一個IIS帳戶的權限

System.UnauthorizedAccessException:訪問路徑'\ strand \ DROPBOXES \ MattTrinder \ SharepointShared \ bd116dfa-be0e-4c58-93e6-3fb93fa0ef22.tmp'被拒絕。 at System.IO .__ Error.WinIOError(Int32 errorCode,String maybeFullPath)

我需要授予哪些帳戶允許此webservice打開並讀取文件的權限?

使用 「\\ sharepointserver \ C $」 工作正常...

感謝

馬特

回答

3

您授予,有目標存在(如共享存在訪問的帳戶)(或者是相同的域帳戶,或者是具有相同密碼的本地帳戶)。由於IIS用戶通常具有自動生成的密碼並且是本地的,這很難。

我們解決這個問題的方法是將網站作爲不同的用戶(我們自己創建的)運行,並授予此用戶訪問遠程PC上的共享的權限。請注意,共享權限必須是正確的,以及文件系統權限。

2

您需要在文件系統級別和共享中授予讀取訪問權限。問題在於在無法訪問網絡的網絡服務帳戶下運行共享點(可能是因爲它可以更改)。

選項:

  • 如果您使用的是集成的身份驗證的Web服務。然後,您必須將權限授予運行Web服務客戶端的用戶。但不要走這條黑暗的道路。由於委派很難配置。
  • 如果您具有對Web服務的匿名訪問權限,請確保Web服務運行所在的應用程序池以具有訪問該文件的顯式用戶的用戶權限運行。這可以使用SharePoint管理站點進行配置。或與計算機管理mmc。
1

默認情況下經典asmx Web服務作爲IUSR_帳戶運行。這可能沒有訪問網絡路徑的權限。您可以通過更改應用程序池標識將其更改爲域帳戶。