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