【问题标题】:Microsoft Azure Web App - ASP.NET is not authorized to access the requested resourceMicrosoft Azure Web App - ASP.NET 无权访问请求的资源
【发布时间】:2016-09-24 18:27:10
【问题描述】:

我有一个 Azure Web 应用程序。直到几天前,我还有一个运行良好的简单文件上传表单。

大约一周前,它开始导致以下错误:


拒绝访问路径“D:\home\site\wwwroot\Accounts\XXX\test.sqlite”。

说明:在执行当前 Web 请求期间发生未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。

异常详细信息:System.UnauthorizedAccessException:对路径“D:\home\site\wwwroot\Accounts\XXX\test.sqlite”的访问被拒绝。

ASP.NET 无权访问请求的资源。考虑向 ASP.NET 请求标识授予对资源的访问权限。 ASP.NET 有一个基本进程标识(通常是 IIS 5 上的 {MACHINE}\ASPNET 或 IIS 6 和 IIS 7 上的网络服务,以及 IIS 7.5 上配置的应用程序池标识),如果应用程序不是模拟的,则使用该标识。如果应用程序通过 模拟,则身份将是匿名用户(通常是 IUSR_MACHINENAME)或经过身份验证的请求用户。


我知道这是在我的本地机器还是更传统的托管服务提供商上运行,我可以右键单击该文件夹并管理权限。

但我有一个托管的 Azure Web 应用程序。我可以使用以下工具:

  • IIS 远程管理器
  • 新的 Azure 门户(具有沙盒命令 控制台)
  • FTP

我该如何解决这个问题?我应该注意,我尝试将源代码重新部署到另一个 Azure Web 实例......并且表单运行良好!- 大约 2 天,然后开始返回相同的错误。

非常感谢您提供一个非常基础的教程,甚至可能带有屏幕截图。对于作为 Azure Web 应用程序运行的站点,我看到这个问题被问了很多次。

【问题讨论】:

    标签: c# asp.net azure file-permissions


    【解决方案1】:

    您应该将文件存储在 Azure 存储中,而不是在您的虚拟目录下,因为这可能会导致 IIS 站点重新启动

    【讨论】:

    • 有没有关于这个的微软文档?
    • 默认情况下,IIS 会在虚拟目录上安装一个文件监视程序,以监视 web.config 等任何更改。对目录进行多次更新可能会导致 IIS Recycle blogs.msdn.microsoft.com/tmarq/2007/11/01/…
    猜你喜欢
    • 2015-01-03
    • 2015-09-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-16
    • 1970-01-01
    • 2018-11-10
    • 2019-06-15
    相关资源
    最近更新 更多