为什么需要将我的应用程序池标识添加到 IIS_IUSRS 组?

为什么需要将我的应用程序池标识添加到 IIS_IUSRS 组?

我正在 Windows 2008 R2/IIS 7.5 服务器上设置 .NET v4.0 Web 应用程序,该服务器使用域帐户作为应用程序池标识。当我访问该网站时,出现以下错误:

当前身份 () 对“C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files”没有写权限

根据这个:http://learn.iis.net/page.aspx/140/understanding-built-in-user-and-group-accounts-in-iis/工作进程启动时,其身份将添加到 IIS_IUSRS 组。对于我在同一台服务器上运行的现有 .NET v2.0 应用程序,这似乎运行良好(我不必将其域帐户应用程序池身份添加到 IIS_IUSRS 组)。对于我正在设置的第一个 .NET v4.0 Web 应用程序,情况似乎并非如此。

一旦我将身份添加到组中,一切都会正常。我怀疑有些配置不正确,迫使我这样做。我想在推出更多网站/服务器之前了解这一点。

在此先感谢您的帮助...

答案1

用户身份无权访问临时 asp.net 文件。我以前遇到过一些问题,通过授予该用户对该文件夹的 ntfs 权限来解决。此外,暂时提升用户权限以查看是否是权限问题。然后,您可以检查 IIS_ISUSRS 组是否对这些文件具有足够的权限。不要忘记回收 IIS。

答案2

即使安装了 .NET Framework 4,ASP.NET 4 也不会自动在 IIS 上注册。您必须aspnet_regiis在执行其他任何操作之前手动执行,

msdn.microsoft.com/en-us/library/vstudio/k6h9cz8h(v=vs.100).aspx

-i或者-ir就足够了。

相关内容