2008-11-14 186 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_帐户运行。这可能没有访问网络路径的权限。您可以通过更改应用程序池标识将其更改为域帐户。