我认为这是一个IIS错误,因为如果我在本地计算机上运行该项目,就不会发生这种情况。
我的样式表位于~/Content/css
该目录中的任何文件都不会在页面上加载,当我直接导航到它们时,我收到服务器错误:
401 - 未经授权:由于凭据无效,访问被拒绝。
您无权使用您提供的凭据查看此目录或页面。
这只发生在该目录中,访问任何其他文件都没有问题。我在IIS7中需要做些什么才能阻止它?
答案 0 :(得分:255)
答案 1 :(得分:42)
您可能没有该文件夹的 IUSR_ 计算机名称 权限。我刚刚进行了快速扫描,看起来你会find the information you need here。
如果不是这样,浏览器会提示您输入用户名和密码吗?如果是这样,可能是IIS配置为仅使用集成身份验证as described here。
答案 2 :(得分:5)
您没有权限使用您提供的凭据查看此目录或页面。
尽管用户已经通过Active Directory进行了身份验证,但仍然发生了这种情况。
访问拒绝错误的原因可能有很多,但如果您认为已经从Web应用程序中正确配置了所有内容,则可能会遗漏一些细节。确保您向经过身份验证的用户授予访问Web应用程序目录的适当权限。
以下是我解决此问题的步骤。
右键单击存储Web应用程序的目录,然后选择“属性”并单击“安全”选项卡。
点击点击编辑...,然后点击添加...按钮。在“输入要选择的对象名称”中键入Authenticated Users,然后按添加按钮。在“输入要选择的对象名称”中键入Authenticated Users。
单击确定,您应该将Authenticated Users视为其中一个用户名。如果尚未检查,则对较低端的“经过身份验证的用户的权限”框提供适当的权限。
点击确定两次以关闭对话框。它应该立即生效,但如果您想确定,可以为您的Web应用程序重新启动IIS。
刷新浏览器,它现在应该显示网页。
希望这有帮助!
答案 3 :(得分:2)
您需要检查服务器上的文件夹权限,并检查用于运行应用程序的帐户是否可以访问该文件夹。
答案 4 :(得分:2)
答案 5 :(得分:0)
对我来说,匿名用户访问在服务器级别上很好,但在我的一个“虚拟”文件夹中却有所不同。
带给我很多基础知识,然后从同事那里获得一些帮助,以了解IIS在虚拟文件夹级别也具有“身份验证”设置-希望这对我的困境有所帮助。
答案 6 :(得分:0)
在我们的例子中,这是应用程序的web.config
但是IIS计算机上根本没有安装Windows-auth模块。
只需添加另一个可能的原因。
答案 7 :(得分:-4)
我发现的另一个简单修复是删除本地IIS站点(从IIS管理器中删除),然后从Visual Studio中Web项目的“属性”重新创建虚拟目录。