目录上的“401 未经授权”

问题描述 投票:0回答:9

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

我的样式表位于

~/Content/css

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

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

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

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

asp.net asp.net-mvc iis iis-7
9个回答
337
投票
  1. 打开 IIS 并选择导致 401 的站点
  2. 选择 IIS 标头中的 Authentication 属性
  3. 选择匿名身份验证
  4. 右键单击它,选择编辑,然后选择应用程序池标识
  5. 重新启动网站,它应该可以工作

48
投票

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

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


29
投票
  • 打开IIS
  • 选择您遇到问题的站点

  • 选择下面

enter image description here

- 右键单击“匿名身份验证”,然后单击“编辑”并按照下面的操作

enter image description here


8
投票

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

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

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

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

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

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

  3. 单击
  4. 确定

    ,您应该会看到“Authenticated Users”作为用户名之一。如果尚未选中,请在下端的“经过身份验证的用户的权限”框中授予适当的权限。

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

    刷新您的浏览器,它现在应该显示网页。
希望这有帮助!

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

3
投票

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

0
投票
我花了相当多的时间才知道 IIS 在虚拟文件夹级别也有“身份验证”设置 - 希望这可以帮助其他人解决我的困境。

在我们的例子中,它是应用程序的

0
投票

中指定的 Windows 集成身份验证

但是 IIS 机器上根本没有安装 windows-auth 模块。

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


0
投票
    双击 IIS 部分下的身份验证
  1. 右键单击表单身份验证并选择启用
  2. 如果您的应用程序具有访问该网站的登录表单,则此方法有效

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

-4
投票

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.