【问题标题】:how to grant write permissions to an web api application in IIS?如何在 IIS 中授予 Web api 应用程序写入权限?
【发布时间】:2013-06-05 19:41:33
【问题描述】:

我只是在 IIS 服务器上有一个 web api 应用程序,它只是写入 C:\FileStorage\test.txt 上的文本文件,但是当我调用这个 web 服务时,我得到内部 500 错误,在扩展错误后,我得到以下错误,如何在 IIS 服务器上授予对此 Web 服务的写访问权限?

"ExceptionMessage": "Access to the path 'C:\\FileStorage\\test.txt' is denied.",
"ExceptionType": "System.UnauthorizedAccessException",
"StackTrace": "   at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)\r\n   at 

【问题讨论】:

    标签: c# .net rest iis asp.net-web-api


    【解决方案1】:

    将该文件夹的权限授予应用程序池。因此,您将转到 Windows 中的 C:\FileStorage 文件夹并编辑权限,并将 IIS APPPOOL\appPoolNameHere 添加为用户,然后为其授予完整权限。

    希望对您有所帮助。

    编辑

    分步说明...

    -打开 Windows 资源管理器

    -浏览到您的文件夹

    -右键单击文件夹并转到属性

    -在“安全”选项卡上单击“编辑”

    -点击添加

    -在 Locations 下,确保它指向您的本地计算机,而不是域

    -对于对象名称,请在下面输入,但将 MyAppPool 替换为您的应用程序池的名称...

    IIS APPPOOL\MyAppPool

    -将权限设置为完全,或者只是添加写入,或者您需要的任何内容。

    【讨论】:

    • 您能补充一点细节吗?
    • 您遇到了哪些问题?您知道如何为用户权限添加文件夹权限吗?您执行完全相同的操作,但将其添加到应用程序池中。
    • 问题是我不知道如何为文件夹或 IIS 添加权限
    • 我的问题是,您如何确定您的应用程序池的名称?如果您没有专门设置,是否可以使用默认名称?
    • @B.ClayShannon 要确定应用程序池,您需要转到 IIS,单击您的网站,然后单击基本设置。应用程序池应显示在那里。
    【解决方案2】:

    或者您可以将 APPPOOL 替换为您的服务器或计算机的名称并使用 IIS_ISURS。 示例:

    yourserver\IIS_IUSRS
    

    查看此屏幕截图

    【讨论】:

      猜你喜欢
      • 2016-09-09
      • 1970-01-01
      • 2012-04-29
      • 1970-01-01
      • 2017-01-03
      • 2019-06-11
      • 1970-01-01
      • 2011-06-19
      • 1970-01-01
      相关资源
      最近更新 更多