1

我有一个在共享点下运行的网络服务,在标准的 Server2003/IIS6 设置上。此 Web 服务需要从同一域中另一台计算机上的共享中打开和读取文件。目前我得到一个

System.UnauthorizedAccessException:拒绝访问路径“\strand\DROPBOXES\MattTrinder\SharepointShared\bd116dfa-be0e-4c58-93e6-3fb93fa0ef22.tmp”。在 System.IO.__Error.WinIOError(Int32 错误代码,字符串可能全路径)

我需要向哪些帐户授予哪些权限才能允许此 Web 服务打开和读取文件?

使用 "\\sharepointserver\c$" 工作正常...

谢谢

马特

4

3 回答 3

3

您授予访问权限的帐户也必须存在于目标(存在共享的位置)上(相同的域帐户或具有相同密码的本地帐户)。由于 IIS 用户通常有一个自动生成的密码并且是本地的,所以这很难。

我们解决这个问题的方法是,以不同用户(我们自己创建)的身份运行网站,并授予该用户访问远程 PC 上共享的权限。请注意,共享权限和文件系统权限都必须正确。

于 2008-11-14T11:14:50.397 回答
2

您需要在文件系统级别和共享中授予读取访问权限。问题是 sharepoint 在无法访问网络的网络服务帐户下运行(可能是因为它可以更改)。

选项:

  • 如果您对 Web 服务使用集成身份验证。然后,您必须向运行 Web 服务客户端的用户授予权限。但不要走这条黑暗的道路。因为委派很难配置。
  • 如果您对 Web 服务具有匿名访问权限,请确保运行 Web 服务的应用程序池以有权访问该文件的显式用户的用户权限运行。这可以通过 sharepoint 管理站点进行配置。或者用电脑管理mmc。
于 2008-11-14T11:15:14.360 回答
1

默认情况下,经典 asmx Web 服务以 IUSR_ 帐户运行。这可能没有访问网络路径的权限。您可以通过更改应用程序池标识将其更改为域帐户。

于 2008-11-14T11:21:45.750 回答