目录上的“401 Unauthorized”

时间:2012-06-22 18:53:51

标签: asp.net asp.net-mvc iis iis-7

我认为这是一个IIS错误,因为如果我在本地计算机上运行该项目,就不会发生这种情况。

我的样式表位于~/Content/css

该目录中的任何文件都不会在页面上加载,当我直接导航到它们时,我收到服务器错误:

  

401 - 未经授权:由于凭据无效,访问被拒绝。

     

您无权使用您提供的凭据查看此目录或页面。

这只发生在该目录中,访问任何其他文件都没有问题。我在IIS7中需要做些什么才能阻止它?

8 个答案:

答案 0 :(得分:255)

  1. 打开IIS并选择导致401
  2. 的网站
  3. 在IIS标头中选择身份验证属性
  4. 选择匿名身份验证
  5. 右键点击它,选择修改,然后选择应用程序池标识
  6. 重新启动网站,它应该可以正常工作

答案 1 :(得分:42)

您可能没有该文件夹的 IUSR_ 计算机名称 权限。我刚刚进行了快速扫描,看起来你会find the information you need here

如果不是这样,浏览器会提示您输入用户名和密码吗?如果是这样,可能是IIS配置为仅使用集成身份验证as described here

答案 2 :(得分:5)

您没有权限使用您提供的凭据查看此目录或页面。

尽管用户已经通过Active Directory进行了身份验证,但仍然发生了这种情况。

访问拒绝错误的原因可能有很多,但如果您认为已经从Web应用程序中正确配置了所有内容,则可能会遗漏一些细节。确保您向经过身份验证的用户授予访问Web应用程序目录的适当权限。

以下是我解决此问题的步骤。

  1. 右键单击存储Web应用程序的目录,然后选择“属性”并单击“安全”选项卡。

  2. 点击点击编辑...,然后点击添加...按钮。在“输入要选择的对象名称”中键入Authenticated Users,然后按添加按钮。在“输入要选择的对象名称”中键入Authenticated Users。

  3. 单击确定,您应该将Authenticated Users视为其中一个用户名。如果尚未检查,则对较低端的“经过身份验证的用户的权限”框提供适当的权限。

  4. 点击确定两次以关闭对话框。它应该立即生效,但如果您想确定,可以为您的Web应用程序重新启动IIS。

  5. 刷新浏览器,它现在应该显示网页。

    希望这有帮助!

答案 3 :(得分:2)

您需要检查服务器上的文件夹权限,并检查用于运行应用程序的帐户是否可以访问该文件夹。

答案 4 :(得分:2)

  • 打开 IIS
  • 选择遇到问题的站点

  • 在下面选择

enter image description here

-右键单击“匿名身​​份验证”,然后单击“编辑并遵循以下内容”

enter image description here

答案 5 :(得分:0)

对我来说,匿名用户访问在服务器级别上很好,但在我的一个“虚拟”文件夹中却有所不同。

带给我很多基础知识,然后从同事那里获得一些帮助,以了解IIS在虚拟文件夹级别也具有“身份验证”设置-希望这对我的困境有所帮助。

答案 6 :(得分:0)

在我们的例子中,这是应用程序的web.config

中指定的Windows集成身份验证

但是IIS计算机上根本没有安装Windows-auth模块。

只需添加另一个可能的原因。

答案 7 :(得分:-4)

我发现的另一个简单修复是删除本地IIS站点(从IIS管理器中删除),然后从Visual Studio中Web项目的“属性”重新创建虚拟目录。