【问题标题】:asp.net FileUpload control problem: access to directory is deniedasp.net FileUpload控件问题:访问目录被拒绝
【发布时间】:2011-02-21 05:27:24
【问题描述】:

我正在尝试使用文件上传控件。我在我的桌面上使用 Visual Web Developer Express。

我的 Web 应用程序运行良好,但无法使用 fileUpload 控件。我收到以下错误:

错误:对路径 (My_Directory) 的访问被拒绝

我搜索了一下,似乎是权限问题。因此,我尝试添加用户 ASPNET 并对目录授予适当的权限,但是,我无法添加用户“ASPNET”。未找到用户“ASPNET”。

然后我按照以下说明通过控制面板 > 管理 > 计算机管理添加用户 ASPNET。所以现在我可以将用户 ASPNET 添加到目录并授予适当的权限,但我仍然收到上述错误。

http://p2p.wrox.com/net-web-services/5918-creating-aspnet-user.html

关于为什么我无法访问该目录的任何想法?

【问题讨论】:

    标签: asp.net permissions file-upload


    【解决方案1】:

    如果您使用的是 Vista/Windows 7/Win2003/Win2008,您需要的用户是网络服务帐户。您可以通过查看您的应用程序池在哪个用户下运行来验证。

    授予该帐户适当的权限(如果确实是您的应用程序池在其下运行的帐户),您将获得成功。另请注意,对于 Windows 7 和 Win2008,默认帐户可能是 ApplicationPoolIdentity,您可以在 http://forums.iis.net/t/1156692.aspx 找到更多信息。无论如何,您只需将运行应用程序池的帐户切换到网络服务帐户即可验证问题是否存在。

    【讨论】:

    • 我正在使用 windows7 和 iis 7.5 我在这方面相对较新。我不知道如何找到我的应用程序池在哪个用户下运行。这就是我所做的。我添加了“网络服务”,它仍然没有工作。然后 IIS > 应用程序池 > 默认应用程序池 > 高级设置 > 身份 > (将“应用程序池身份”切换为“网络服务”。这也不起作用。我采取了正确的步骤吗?
    • 步骤: 1. 通过 IIS 验证您的站点在哪个应用程序池下运行 -> 右键单击​​适用站点 -> 管理网站 -> 高级设置。 2. 以您描述的方式转到该应用程序池的高级设置。 3. 确保正在使用网络服务帐户。 4. 在相关目录的 NTFS 权限中,添加网络服务帐户,并授予其修改权限。这也适用于所有子目录。 5. 您的文件上传现在应该可以工作了。
    • 还是没有运气。我跟着你的脚步。 iis > 站点 > defaulr 网站(仅列出一个)> 管理网站 > 高级 > (应用程序池设置为“DefaultAppPool”。我没有更改。然后 iis > 应用程序池 > DefaultAppPool > 高级设置 > 身份 > (这被设置为“应用程序池身份”,但我将其更改为“网络服务”。现在我转到我的目录>安全>编辑>添加>高级>立即查找>(选择网络服务)然后我编辑网络服务所以它有完全权限。仍然没有运气我也尝试给每个用户完全权限,没有工作
    • 感谢您提供帮助 :) 正如您可以想象的那样,这让我发疯了,昨天花了所有时间试图弄清楚,然后才发布到 stackoverflow
    • 您授予“所有人”对相关目录的完全权限,但它仍然无法正常工作?您要上传到的目录在哪里?如果它是系统目录,也会导致权限问题。提供整个路径,这将向我们展示可能是什么问题。这通常是一个简单的问题,所以有些东西显然应该是关闭的。包含 asp:FileUpload 控件的页面的 URL 是什么?
    【解决方案2】:

    有想过这个吗?如果您要覆盖文件,请检查以确保它们未设置为只读。

    我之前已经大量处理过这些权限,并尝试了本书、本网站和其他网站中的所有内容(我在 Win7、IIS7.5 上也有)。有时是一些愚蠢的小事......

    【讨论】:

      猜你喜欢
      • 2010-10-07
      • 2023-03-08
      • 2012-03-14
      • 1970-01-01
      • 1970-01-01
      • 2016-04-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多