2011-04-25 47 views
0

我刚安装了windows server 2008 r2以及visual studio和dropbox。我将它用作开发虚拟机,dropbox帮助我保持文件与其他机器同步。无法访问iis7 mvc应用程序中的文件 - server 2008 r2

我已经在IIS中设置了我的网站,但在尝试查看网站时出现拒绝访问错误。我以前有过,并且在过去我已经完成并将IIS_User帐户添加到读取/修改文件的权限列表中。我假设,因为文件已被复制下来,文件没有必要的权限。这里有个问题,我不能通过修改文件夹的权限来批量更新文件,我不得不一次性更改文件级别,甚至更糟糕,一次一个!我不能有这个。

我对2008 R2和IIS 7比较新,所以我不知道这里发生了什么。有人可以解释发生了什么,如果有可以更新的IIS /文件权限设置来解决它在顶级文件夹?

我已经尝试在IIS中的网站上添加匿名permssions,并且已经为IIS_User(甚至每个人)的文件夹添加了权限。我有一个管理员帐户,并已设置为允许我读取/写入/修改文件。

这通常是我收到的消息'加载配置文件时发生错误:访问路径X被拒绝'。

这发生在ascx & aspx文件以及配置文件上。

编辑: 从Visual Studio进行调试时,该站点可见。 该网站运作在完全信任(内部)

请帮助,这是阻止我从工作和驱使我疯了!

回答

1

默认情况下,在IIS 7中,网站作为本地系统的网络帐户(NetworkService)运行,而不是作为IIS_User运行。

要验证在IIS管理器中选择相关站点,单击基本设置...并检查它分配给的应用程序池。然后进入应用程序池并检查该应用程序池的标识。确保列出的用户位于ACL中。

将所有人添加到ACL应该可以工作,但只是为了防止我建议您检查上述内容。当然,还要确保在设置ACL时检查复位所有子文件夹上的继承的方框(如果适用于您的应用程序)。

您也可以尝试将应用程序池的标识设置为您已创建的可访问应用程序目录的本地(或域)用户。

希望有所帮助。

+1

什么是ACL - 抱歉告诉你,我是一个小白:) – lloydphillips 2011-04-25 21:21:06

+0

我已经设置了我的网站一个新的应用程序池具有标识设置为ApplicationPoolIdentity - 不知道该怎么在这里做。 :s – lloydphillips 2011-04-25 21:25:11

+0

我刚刚在应用程序池中添加了我的用户名/密码作为本地用户,并完成了这项工作。至少让我工作起来,但我不介意理解是否有更多的“全球化”,我可以在将来使用。将它设置为NetworkService的工作?为什么ApplicationPoolIdentity不工作?如何重置ACL上的继承关系 - 我现在知道它是访问控制列表。 – lloydphillips 2011-04-25 21:28:50

1

关于其他身份是否适用于您的应用程序池,这完全取决于这些身份是否拥有您应用程序需要访问的所有文件和/或数据库以及其他资源的权限。现在您的应用程序正在您的用户帐户下运行,通常不推荐。 IIS将您的密码缓存起来,如果更改密码,则在更新应用程序池配置之前,应用程序将停止工作。

至于设置NTFS权限,它可能会变得棘手。一旦禁用权限继承,每次需要更改权限时,都需要单独更新该文件或文件夹。另一方面,您不能删除ACL上的继承条目,只能添加到它们。但是,您可以设计一种策略,在文件结构的根目录下提供基准级权限,然后向子文件夹/文件添加权限。

为了检查&文件夹上的重置继承,请进入其属性,安全选项卡,单击高级,然后单击编辑。您可以查看此文件夹是否继承其父级的权限,并可以选择消除所有子文件夹/文件权限,并启用所有子文件夹上的继承。

希望这会有所帮助。

Advanced Security Settings Dialog

相关问题