"IIS管理器无法验证内置帐户是否具有访问权限"

33

好的,我正在使用asp.net设计一个Web应用程序,并需要使用IIS应用程序管理器对其进行控制。我有一个服务器,但当我尝试进入并设置一切时,出现了以下警告:

该服务器配置为使用内置帐户的穿透身份验证来访问指定的物理路径。然而,IIS管理器无法验证内置帐户是否具有访问权限。请确保应用程序池标识具有读取物理路径的访问权限。如果此服务器加入了域,并且应用程序池标识是NetworkService或LocalSystem,请验证<domain>\<computer_name>$是否具有读取物理路径的访问权限。然后再次测试这些设置。

当我尝试使用IIS浏览我的应用程序时,它超时了。除了在网上做的研究外,我对IIS一无所知。只是希望对此有所澄清。感谢任何帮助!


你是在尝试使用//localhost/还是外部IP进行浏览? - Josh
1
三年后,我也遇到了同样的问题。我的应用程序池 ID 是 Network Service,并将其添加到 IIS_IUSRS 组中,并确保该组具有修改权限(读取、写入、修改)。我在 host 文件中设置了本地主机名,在 ping 主机名时,我获得了正确的回送 IP。IIS通过显示默认网站来响应 localhost,但似乎对其他站点不起作用。所有绑定都是正确和确认的。 - Carnix
5个回答

12
服务器配置为使用直通身份验证[您可以通过选择站点,选择基本设置->连接为...->{并且您应该看到已设置应用程序用户(直通身份验证)}进行验证]。 内置帐户设置在应用程序池的设置中。错误信息告诉您,应用程序池上的帐户无法访问激活的应用程序设置的文件夹。您需要将常规组放到文件夹上,例如IIS_USERS,具有读取、列出、读取和执行的权限。IIS超时是因为它无法初始化站点以加载请求的内容,因为操作系统不允许其接触文件以查看它应该为请求加载什么。您可能会想知道为什么没有得到401,但这是因为IIS不能进一步开始为您的请求提供任何状态。

如果它没有使用该帐户,而您不确定已设置为使用哪个帐户,则查找的一种简单方法(相对于猜测)是打开文件系统审核或使用来自Sysinternals的procmon等工具。这两个工具都会捕获用于访问的帐户,然后提供所需添加访问权限的信息。 - Nathan Daniels
@NathanDaniels,你的回答帮助我理解了这种情况。我正在为此苦苦挣扎。这是我发布的问题:https://stackoverflow.com/questions/46029035/publishing-with-iis-server-dns-could-not-be-found 如果你能看一下就感激不尽了,谢谢!(我正在使用应用程序用户),但我相信所有用户都可以访问这个文件夹。 - Luis Alberto Delgado de la Flo
3
我找不到IIS_Users,所以我使用“立即查找”选项进行了搜索,并找到了“IUSR”和“IIS_IUSRS”,最终解决了整个问题。对此我不再进行任何调查,现在开始真正的工作。 :) - aditya

7

4

我曾经被这个问题困扰了一整天...在尝试账户路线无果后,我的解决方案是打开“启用或关闭Windows功能”>然后找到IIS并添加所有的开发功能。这对我起了作用。

enter image description here

1
除了顶部投票答案中的用户权限答案外,对我来说仍然不起作用,我还必须打开应用程序开发下的所有选项。我猜这是因为我的应用程序在IIS中运行的一个功能。 - Jason

3
希望这可以帮助某些人。
在我的情况下,我必须为 IIS_IUSRS 组添加读取访问权限。 来源

2

我遇到了同样的错误,这个方法对我有用:

enter image description here


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接