我认为这是一个 IIS 错误,因为如果我在本地机器上运行该项目就不会发生这种情况。
我有我的样式表~/Content/css
该目录中的任何文件都不会加载到页面上,当我直接导航到它们时,出现服务器错误:
401 - 未经授权:由于凭据无效,访问被拒绝。
您无权使用您提供的凭据查看此目录或页面。
这只发生在该目录中,我访问任何其他文件都没有问题。我需要在 IIS7 中做些什么来阻止这种情况吗?
我认为这是一个 IIS 错误,因为如果我在本地机器上运行该项目就不会发生这种情况。
我有我的样式表~/Content/css
该目录中的任何文件都不会加载到页面上,当我直接导航到它们时,出现服务器错误:
401 - 未经授权:由于凭据无效,访问被拒绝。
您无权使用您提供的凭据查看此目录或页面。
这只发生在该目录中,我访问任何其他文件都没有问题。我需要在 IIS7 中做些什么来阻止这种情况吗?
您可能没有该文件夹的IUSR_computername权限。我刚刚快速浏览了一下,看起来您会在这里找到所需的信息。
如果不是这种情况,浏览器是否会提示您输入用户名和密码?如果是这样,可能是 IIS 配置为仅使用集成身份验证,如此处所述。
您无权使用您提供的凭据查看此目录或页面。
尽管用户已经通过 Active Directory 进行了身份验证,但还是发生了这种情况。
Access Denied 错误可能有很多原因,但是如果您认为您已经从 Web 应用程序中正确配置了所有内容,那么可能会忘记一些细节。确保您授予Authenticated Users访问您的 Web 应用程序目录的适当权限。
以下是我为解决此问题而采取的步骤。
右键单击存储 Web 应用程序的目录并选择属性,然后单击安全选项卡。
单击单击编辑...,然后单击添加...按钮。在 Enter the object names to select. 中输入 Authenticated Users,然后添加按钮。在输入要选择的对象名称中输入 Authenticated Users。
单击“确定”,您应该会看到 Authenticated Users 作为用户名之一。如果尚未选中,请在低端的“经过身份验证的用户的权限”框上给予适当的权限。
单击确定两次关闭对话框。它应该立即生效,但如果您想确定,您可以为您的 Web 应用程序重新启动 IIS。
刷新您的浏览器,它现在应该显示网页。
希望这可以帮助!
您需要检查服务器上的文件夹权限,并检查您用于运行应用程序的帐户是否有权访问该文件夹。
在我们的例子中,它是应用程序中指定的 Windows 集成身份验证web.config
但是 IIS 机器上根本没有安装 windows-auth 模块。
只是添加另一个可能的原因。
对我来说,匿名用户访问在服务器级别很好,但仅在我的一个“虚拟”文件夹中有所不同。
花了我很多时间,然后从同事那里得到了一些帮助,以了解 IIS 在虚拟文件夹级别也有“身份验证”设置 - 希望这可以帮助其他人解决我的困境。
我发现的另一个简单修复是删除本地 IIS 站点(从 IIS 管理器中),然后从 Visual Studio 中 Web 项目的“属性”重新创建虚拟目录。