代码之家  ›  专栏  ›  技术社区  ›  Matt

IIS帐户的权限

  •  1
  • Matt  · 技术社区  · 16 年前

    我有一个在sharepoint下运行的webservice,在一个bog标准服务器2003/iis6设置上。此Web服务需要打开并从同一域中另一台计算机上的共享中读取文件。现在我得到一个

    System.UnauthorizedAccessException:拒绝访问路径“\strand\dropbox\mattrinder\sharepointshared\bd116dfa-be0e-4c58-93e6-3fb93fa0ef22.tmp”。 在system.io.\uu error.winioerror(int32错误代码,字符串可能为fullpath)

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

    使用“\\ sharepointserver\c$”工作正常…

    谢谢

    马特

    3 回复  |  直到 16 年前
        1
  •  3
  •   Erik Hesselink Renaud    16 年前

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

    我们解决此问题的方法是将网站作为另一个用户(我们自己创建的)运行,并授予此用户访问远程PC上共享的权限。请注意,共享权限和文件系统权限都必须正确。

        2
  •  2
  •   Igal Serban    16 年前

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

    选项:

    • 如果对web服务使用集成身份验证。然后必须将权限授予运行web服务客户端的用户。但不要走这条黑暗的路。因为委派很难配置。
    • 如果您对web服务具有匿名访问权,请确保web服务运行的应用程序池在具有访问该文件的显式用户的用户权限的情况下运行。这可以通过sharepoint管理网站进行配置。或者使用计算机管理MMC。
        3
  •  1
  •   tgeros    16 年前

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