System.UnauthorizedAccessException:访问ASP.NET的路径

时间:2015-08-05 16:34:30

标签: asp.net iis-7 virtual-directory

我有一个网站,它位于IIS服务器上,我在另一台服务器上有一个文件夹文件服务器。我已将虚拟目录设置为文件服务器上的文件夹。此应用程序两个服务器位于同一个域中,但将来我将拥有不在同一个域上的服务。

我尝试在两台计算机上设置本地用户,并设置应用程序池以使用本地帐户,我得到了

System.UnauthorizedAccessException:拒绝访问路径。  和  401 - 未授权:由于凭据无效,访问被拒绝。  您无权使用您提供的凭据查看此目录或页面。

我已将虚拟设置为本地用户连接并获得相同的错误。

我已经设置了域用户,然后将应用程序池设置为使用域用户并设置为使用传递,当我在目录浏览中测试设置时,它说一切都很好但我从网页上得到了相同的错误。

我已经设置了一个域用户,然后将应用程序池设置为使用域用户并设置为用户连接,当我在目录浏览中测试设置时,它说一切都很好,但我得到了相同的错误网页。

我已将apppool设置为使用我的登录信息,它可以使用传递权限。

我有什么遗漏。

3 个答案:

答案 0 :(得分:4)

您需要在单独的文件夹中设置文件夹权限,以便访问托管应用程序的服务器的“computer $”帐户。

见这里:https://www.iis.net/learn/manage/configuring-security/application-pool-identities

  

应用程序池标识也使用计算机帐户进行访问   网络资源。

因此,在拥有数据文件的服务器中,您应设置文件夹权限,以允许访问托管您网站的计算机名称。

答案 1 :(得分:1)

Windows 2012 服务器上使用 IIS 部署 Web 应用程序时,我遇到了同样的挑战。

问题是 App Pool Account 没有 Website Root 的全部权限。

我所要做的就是转到 Website Root 所在的目录,然后右键单击它。接下来,我选择了安全,然后授予 IIS-Users 组对该目录的完全访问权限。

对我来说,IIS-Users 组包含在 IIS 中创建的所有用户/应用程序池帐户

仅此而已。

我希望这会有所帮助

答案 2 :(得分:0)

我已经专门为虚拟目录创建了一个域用户,它似乎可行,但这是最佳做法吗?