目录上的“ 401未经授权”


85

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

我的样式表在 ~/Content/css

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

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

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

这仅在该目录下发生,访问任何其他文件都没有问题。我需要在IIS7中做些事情来阻止这种情况吗?

Answers:


46

您可能没有该文件夹的IUSR_计算机名权限。我刚刚进行了快速扫描,看来您会在这里找到所需的信息

如果不是这种情况,浏览器是否会提示您输入用户名和密码?如果是这样,则可能是IIS配置为仅使用集成身份验证,如此处所述


4
如果您正在使用应用程序池来管理数据库/文件系统访问,请不要这样做。继续阅读下面的内容,了解imanabidi的答案。
瑞安·希灵顿

谢谢,就我而言,我刚刚添加了完全控制的所有人
MorenajeRD

8
support.microsoft.com/kb/313075-该页面不再存在。@ m.edmondson
Divya

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

13
它有效,但是为什么呢?你能解释更多吗?
nthapa 2014年

2
这似乎起作用,因为默认情况下,匿名身份验证的“特定用户”是IUSR,如公认的答案中所述。但是,在应用程序池上设置的身份必须具有对整个网站的权限,否则该网站将无法加载。因此,尽管我的IUSR帐户没有访问权限(实际上似乎不存在),但应用程序池使用的帐户却具有访问权限。
2015年

6
这行得通,但是令人困惑的是,它过去可以正常工作大约2年,然后到今天,由于未知原因,它停止工作了……您的解决方案确实对其进行了修复。
Serj Sagan

在这个问题上花了几个小时,直到我发现这个问题,否则我不走运!我有一个MVC 5 Web应用程序,一旦以发布模式发布,然后将其加载到chrome上,则将加载内容,但是不会加载样式。链接在那里,路径正确,但是它们都是空的!此修复解决了我的问题。
GIVE-ME-CHICKEN

就我而言,我只需要启用匿名身份验证,因为创建应用程序时默认情况下禁用了匿名身份验证
Paul

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

  • 选择下面

在此处输入图片说明

-右键单击“匿名身​​份验证”,然后单击“编辑”,然后按照以下说明进行操作

在此处输入图片说明


5

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

尽管事实上已经通过Active Directory对用户进行了身份验证,但还是发生了这种情况。

可能有许多原因导致“访问被拒绝”错误,但是如果您认为已经从Web应用程序正确配置了所有内容,则可能会忘记一些细节。确保您已授予“身份验证的用户”适当的权限,以访问您的Web应用程序目录。

这是我为解决此问题而采取的步骤。

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

  2. 单击单击“编辑”,然后单击“添加”按钮。在“输入要选择的对象名称”中键入“通过身份验证的用户”,然后单击“添加”按钮。在“输入要选择的对象名称”中键入“身份验证的用户”。

  3. 单击“确定”,您应该看到“身份验证的用户”作为用户名之一。如果尚未选中“身份验证的用户的权限”框,请在底端的权限框中提供适当的权限

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

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

希望这可以帮助!


2

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


0

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

我花了很多时间来学习,然后从同事那里得到一些帮助,以了解IIS在虚拟文件夹级别也具有“身份验证”设置-希望这对我的困境有帮助。


0

在我们的案例中,这是应用程序的Windows中指定的Windows集成身份验证 web.config

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

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


-4

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

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.