在 IIS7 中托管 ASP.NET 提供访问被拒绝?

Hosting ASP.NET in IIS7 gives Access is denied?

提问人:Banshee 提问时间:5/3/2012 最后编辑:Alessio CantarellaBanshee 更新时间:11/3/2021 访问量:255458

问:

我已经在我的IIS7中设置了一个使用.NET Framework 4.0(由NetworkService运行)的应用程序,但是在浏览该站点时,我得到以下信息:

访问被拒绝。
说明:访问处理此请求所需的资源时出错。您可能无权查看请求的资源。
错误消息 401.3:您无权使用您提供的凭据查看此目录或页面(由于访问控制列表而拒绝访问)。请求 Web 服务器的管理员授予您访问*

我试图向 NetworkService 授予对保存网站的文件夹(IIS 中的 Web 应用程序所指向的文件夹)的完全权限,但我仍然被拒绝访问?

为什么?

asp.net IIS-7 访问被拒绝

评论

0赞 Murat Yıldız 12/28/2016
您能否看看我在 IIS 7 中对 ASP MVC 的回答:HTTP 错误 403.14 - 禁止。

答:

2赞 Matt 5/3/2012 #1

在 APP 本身的身份验证设置 (IN IIS) 中,查看是否启用了匿名。

306赞 Banshee 5/4/2012 #2

我允许访问“IIS_IUser”,但它应该是“IUSR”。这解决了问题。

评论

0赞 reaper_unique 1/5/2013
这也是我的问题。有趣的是,有多少不同的用户。您还有IIS_IUSR(或者这就是您所说的IIS_IUser的意思?),您还可以添加应用程序池。
2赞 c00000fd 8/3/2013
这必须固定到他们分发该 IIS 的首页!
41赞 Jonas 9/30/2013
站点>身份验证>匿名身份验证>编辑>特定用户
4赞 Filipe Borges 3/25/2015
像魅力一样工作!添加了对 IUSR 认为 Windows 资源管理器文件夹属性、安全选项卡的权限。
3赞 Ronald Nsabiyera 5/30/2016
我授予了对 IIS_IUser 和 IUSR 的访问权限,完全控制并且它有效。
189赞 Graham Laight 6/5/2013 #3

对我来说,除了以下内容之外,没有任何效果,它解决了问题:打开 IIS,选择站点,打开身份验证(在 IIS 部分中),右键单击“匿名身份验证”,然后选择“编辑”,选择“应用程序池标识”。

评论

2赞 Ben_Coding 8/8/2014
好。在 Win Server 2012 IIS 8 上为我工作,用于 ASP 经典网站。
0赞 sensei 3/16/2015
这很有帮助。但是您必须重置整个服务器才能应用设置。试图逐页重置,但没有用。
0赞 Matt Borja 12/12/2015
必须对现有网站中的新应用程序执行此操作,该应用程序面向不同的 .NET 运行时,该运行时在应用程序的文档根目录下为我提供了 401(直接访问 *.aspx 页面有效,而文档根目录则不然)。
0赞 GutierrezDev 5/6/2016
谢谢。第一次尝试就成功了。
3赞 Sharif Yazdian 8/4/2020
您在 2013 年回答了一个问题,它在 2020 年 8 月工作!谢谢
0赞 Madhu S Reddy 6/24/2013 #4

这是由于 WWWRoot 目录安全问题。

简单的解决方案是,只需将 appplicatio 文件夹复制到其他驱动器,而不是“C:\Inetpub\wwwroot” 然后为此新路径创建一个虚拟目录。就是这样。

14赞 Enkosi X 11/27/2013 #5

我遇到了同样的问题,我启用了“匿名身份验证”,但它仍然不起作用。 所以我也启用了“表单身份验证”然后它没有任何问题。

评论

1赞 Singaravelan 1/19/2018
当我在 IIS 中启用 Windows 身份验证时,对我来说,现在工作正常。谢谢
4赞 Vitalii 3/15/2016 #6

对于我在Windows 7中,只有在我为两个用户授予“读取和执行”,“列出文件夹内容”,“读取”权限后,它才开始工作

  • 国际单位
  • 网络服务

IUSR permissions NETWORK SERVICE permissions

评论

0赞 Aimal Khan 8/16/2017
这个解决方案对我有用,没有其他解决方案!谢谢。
2赞 Raj Pandey 7/16/2016 #7

我们需要通过转到网站文件夹 -->Properties--->Security--->Edit-->Add 并授予读取访问权限来创建一个新用户 ComputerName\IUSR。这肯定会奏效。

此解决方案适用于 IIS7

5赞 Volkan 7/28/2016 #8

操作系统 : Windows 7 & IIS 7

如果您在添加 IUSR 和网络服务后仍然被拒绝。 还要添加IIS_WPG。最后一个用户的加入解决了我的问题。

对于找不到这些用户的用户: 当您尝试在文件夹的安全性(文件夹的属性)中添加用户时,请单击“选择用户或组”窗口的“高级”。将位置更改为计算机名称,然后单击“立即查找”。您可以在下面的列表中找到这些用户。

评论

0赞 Roman O 10/5/2016
谢谢你,这对我有用!我在 Windows Server 2012 上使用了 IIS_IUSRS,因为那里没有IIS_WPG。
0赞 Stealth Rabbi 2/28/2017
我没有看到IIS_WPG。这是你创造的东西吗?
5赞 ssis_ssiSucks 12/9/2016 #9

如果使用匿名身份验证,IIS 7 将使用“IUSR”帐户进行目录访问(除非已将其设置为使用应用池标识)。如果您尚未授予 IUSR 对您网站的文件夹和文件的足够权限,则会出现此错误

2赞 Duane Boudreau 1/10/2017 #10

我兜兜转转,结果发现默认页面设置不当。希望这能帮助其他人避免浪费一个小时的时间。

评论

0赞 HackSlash 12/30/2021
您在哪里更改了设置?
5赞 midoriha_senpai 9/6/2017 #11

在这里尝试了大多数解决方案,但没有运气。对我有用的是将“所有人”添加到安全权限中。属性 -> 安全性 -> 编辑 -> 添加 -> 所有人。给定的默认值足以让我重新获得访问权限。

在不久的将来,我可能应该弄清楚哪些凭据被发送到服务器,以便我可以提供适当的权限。但我希望它能帮助到某人!

0赞 toha 9/19/2017 #12

这就是发生在我身上的事情:

Get - Post没关系。工作顺利。

当我尝试使用动词时,服务器返回这样的错误。Options

403

然后,小心 urlScan

我将 OPTIONS 动词添加到 urlscan 配置.ini文件中,然后一切正常。

要检查是否安装了 urlscan,请打开 iis 管理器,打开 url 扫描应出现在列表中。ISAPI FILTERS

0赞 visokoo 9/21/2017 #13

如果已在身份验证中指定了 IUSR 用户,但您仍然遇到此问题,则可能是您的目录列表未启用。请务必检查一下。我就是这种情况。

评论

0赞 Ruslan 9/4/2022
您能详细说明一下“启用目录列表”是什么意思吗?
2赞 marsze 6/6/2018 #14

经过一番思考和反复试验,我发现发生此错误是因为我的 web.config 的一部分被加密,并且由于某种原因密钥不再有效。

重新加密配置部分解决了这个问题。

2赞 Andreas Schneider 8/25/2018 #15

就我而言,运行 c:\windows\Microsoft.Net\Framework64\v4.0.30319\aspnet_regiis.exe /i 解决了 403 访问被拒绝的问题。

评论

0赞 Xhens 9/21/2018
你才是真正的MVP!谢谢!这个错误让我省去了更多的麻烦!
2赞 ADARSH BIDARI 2/23/2019 #16

在匿名身份验证中检查应用程序池标识并启用表单身份验证将解决访问被拒绝错误的问题。😁

0赞 Pradyumn Agrawal 1/27/2020 #17

我也面临同样的问题, 一切都很正常,所有权限都给了用户和文件夹。 经过多次研究,我发现wwwroot(源代码文件夹)与其他用户共享。 我停止了分享,它就像一个魅力。

0赞 Haukland 11/6/2020 #18

从远程主控器中提取并添加到 web.config 上的应用设置后,我遇到了这个问题。 我通过启用 Windows 身份验证解决了它:

单击项目并按 f4

确保已启用 Windows 身份验证:

enter image description here

1赞 iifast2 11/3/2021 #19

看完本教程后:

https://www.youtube.com/watch?v=RbrZbHpXBTE&list=PLp1Emx1rT4z9YWLDXBjUwBb130qv2Zq2x&index=4&ab_channel=LearningProgrammingTutorial

我在使用 RDP ( windows server 2016 Datacenter ) 时遇到了同样的问题 我按照上面的教程进行了操作,并从IIS互联网信息服务管理器中嵌入了我的目录浏览选项。

error screenshot

您要做的是访问您的IIS管理器,您可以查看上面的教程,了解如何访问IIS管理器,如果您在那里遇到问题,这对我很有用,这就是我分享的原因......转到:

go to authentication

you should gave access to IUSER

您应该授予对 IUSER 的访问权限 (或应用程序工具标识,取决于您要使用的内容) 你的问题就会得到解决!:)

此外,您还需要检查防火墙和TCP设置,如果两台机器之间的ping不适合您,您可以检查一下:https://operavps.com/rdp-connection-issues/

评论

1赞 Billy Bob 5/10/2023
您的解决方案适用于 401.3 Unathorized。线程约为 403 Forbidden:访问被拒绝