ASP.NET +拒绝访问该路径

时间:2009-08-02 18:14:59

标签: asp.net

我有一个ASP.NET应用程序,它试图在运行时在Web服务器上写入文件。在我的开发环境中,这是有效的。但是,当我将其部署到生产服务器并执行代码时,我收到一条错误,指出:

"Access to the path 'C:\Inetpub\wwwroot\MyWebApp\DirToWriteTo\' is denied."

我的生产服务器是Window Server 2003计算机。 Web应用程序设置为允许通过IUSR_TEMPLATE帐户进行匿名访问。

我做错了什么?

谢谢!

4 个答案:

答案 0 :(得分:2)

您需要向 NETWORK SERVICE 用户提供授权权限

您可以查看此链接: -

http://repeatgeek.com/technical/asp-net-access-to-path-is-denied/

答案 1 :(得分:1)

最可能的问题是您的匿名用户没有该位置的写入权限。

我要做的是为您要写入的位置创建一个web.config条目,并将该配置密钥用作可写目录。如果需要,这将允许您为生产服务器和开发机器进行单独配置。

接下来,只需将配置中定义的目录的写访问权授予用户IUSER_TEMPLATE,或者将Thorarin称为网络服务,在这种情况下,您应该设置身份模拟您的Web.config以便您可以指定用户(除非您通过应用程序池配置用户)。这应该可以解决问题。

答案 2 :(得分:1)

如果您使用的是Windows 2008或更高版本,请尝试向 IIS_IUSRS 授予写入权限。

(网络服务过去也对我有用。从我读到的here来看,它取决于服务器操作系统。)

enter image description here

答案 3 :(得分:0)

就我而言,Visual Studio 2015将现有项目的IIS AppPool用户更改为默认的DefaultAppPool,这给了我权限错误,配置错误,角色提供程序错误和空引用错误。在发现这一点并将其更改回文件夹权限设置为的应用程序池后,事情又开始了。