![为什么需要将我的应用程序池标识添加到 IIS_IUSRS 组?](https://linux22.com/image/586196/%E4%B8%BA%E4%BB%80%E4%B9%88%E9%9C%80%E8%A6%81%E5%B0%86%E6%88%91%E7%9A%84%E5%BA%94%E7%94%A8%E7%A8%8B%E5%BA%8F%E6%B1%A0%E6%A0%87%E8%AF%86%E6%B7%BB%E5%8A%A0%E5%88%B0%20IIS_IUSRS%20%E7%BB%84%EF%BC%9F.png)
我正在 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
就足够了。