视窗 2016 | IIS10 | IIS 服务器场
对于初学者。我刚刚将所有站点从备份服务器移至网络森林。幸运的是,我遇到标题问题的那个网站不是人们可以看到它的网站的一部分——只有我。
几个月前我遇到过这个问题,并且能够毫不费力地解决它。不过,现在好像有问题了。
ASP.NET 无权访问请求的资源。考虑向 ASP.NET 请求标识授予对资源的访问权限。ASP.NET 有一个基本进程标识(通常是 IIS 5 上的 {MACHINE}\ASPNET 或 IIS 6 和 IIS 7 上的网络服务,以及 IIS 7.5 上配置的应用程序池标识),如果应用程序不是模拟的,则使用该标识。如果应用程序通过 模拟,则身份将是匿名用户(通常是 IUSR_MACHINENAME)或经过身份验证的请求用户。
添加到 [安全] 选项卡权限的用户
IUSR NETWORK SERVICE [email protected]
(自定义池标识)
管理员(默认)
(ASPNET 用户不可用,我不知道如何启用此用户)
要授予 ASP.NET 对文件的访问权限,请在文件资源管理器中右键单击该文件,
选择“属性”并选择“安全”选项卡。单击“添加”
以添加相应的用户或组。突出显示 ASP.NET 帐户,
然后选中所需访问权限的复选框。
现在的问题是,我没有 ASPNET 用户作为可供选择的选项,而这在几个月前曾经是一个选项。那么,到底发生了什么?
更新我按照这里网站上的说明进行操作。 ASPNET 用户身份模型 我无法让aspnet_regiis -I与服务器上的任何其他版本的 asp.net 一起工作。所以,我不得不使用页面上使用的那个。安装 asp.net 3.0(附带 2.0)然后运行aspnet_regiis -I 我重新启动了服务器。尽管如此,ASPNET 用户仍然没有显示。
所以,我很茫然,人们。它曾经在这里,因为我之前在 2016 服务器中使用过该用户。那么,到底发生了什么?
显然,此站点需要它,因为网络服务不这样做。
任何关于此的想法都会很棒。
韦恩
您提出了一个非常好的问题,其中包含确切的错误消息,因此很清楚您遇到了什么问题。所以我们经历了整个过程。
一个 ASP.NET 应用程序(可能是 .NET 2.x/3.x)给你一个错误信息
如果 Web 应用程序在 IIS 5.x/6.0/7.0 上运行,这应该非常清楚。然而,时间过得很快,所以人们会惊讶地发现像 IUSR_MACHINENAME 或 {MACHINE}\ASPNET 这样的帐户已经消失,并且网络服务不再是基本进程标识(IIS 7.5+)。
因此,唯一正确的提示是“在 IIS 7.5 上配置的应用程序池标识”,就像我上面评论的那样,它是您用于此 Web 应用程序的自定义域帐户。
再次总结问题,在自定义域帐户下运行的 ASP.NET Web 应用程序无法访问远程文件共享,并报告错误。
考虑到这一点,剩下的事情对您来说相当简单,确定是否设置了正确的权限。即使在您的服务器上实际上另一个问题(共享配置失败)阻止了事情的工作,您也可以轻松解决它。
因此,请继续做好自己的工作,始终关注确切的症状并提出正确的问题。