【发布时间】:2014-05-10 11:09:57
【问题描述】:
我正在尝试从名为“SomeAppPool”的“AppPool”启动网站,该网站使用“ApplicationPoolIdentity”,当我启动网站时收到以下错误:
当前身份 (IIS_APPPOOL\SomeAppPool) 没有对 'c:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files' 的写入权限
我在 Windows 8 下的 Visual Studio 2012(未附加调试器)中使用“使用本地 IIS Web 服务器”启动网站。
我注意到的第一件事是“临时 ASP.NET 文件”文件夹甚至没有 存在,所以没有什么可以设置安全权限。
第二个问题是,即使有文件夹,我要设置什么权限?我假设我不必为通过“ApplicationPoolIdentity”创建的每个用户设置权限。对吧?
我看到的当前解决方案只是建议将用户设置为“网络服务” 但这似乎打破了“ApplicationPoolIdentity”网站的隔离 被介绍了。
【问题讨论】:
-
我遇到了完全相同的问题。您能找到解决方案吗?
-
不,很遗憾,我没有找到任何解决此问题的方法。我开始认为实际上没有解决方案。我很难相信微软会在不考虑对 .NET 应用程序的影响的情况下添加“ApplicationPoolIdentity”功能。
-
我应该添加一个明确的答案,而不是说不要在 .NET 应用程序中使用“ApplicationPoolIndentity”吗?
-
看来你的直觉是正确的。网络服务不是首选,“因为作为网络服务运行的服务可以篡改以相同身份运行的其他服务”,链接如下:(iis.net/learn/manage/configuring-security/…)。