gpt4 book ai didi

asp.net - IIS ApplicationPoolIdentity没有对 'Temporary ASP.NET Files'的写权限

转载 作者:行者123 更新时间:2023-12-03 07:43:17 25 4
gpt4 key购买 nike

我正在尝试从名为“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”网站的隔离已推出。

最佳答案

This ASP.NET forum answer ,在其线程中未得到确认,这对我来说是解决方案。它的影响也很小:它不会尝试重新注册 IIS 或授予用户危险的权限。总结一下答案:

  1. 以管理员身份打开命令窗口(“开始”/“程序”/“附件”,然后右键单击“命令提示符”,然后选择“以管理员身份运行”)。
  2. 输入以下命令:

    C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Aspnet_regiis.exe -ga domain\user

将上例中的 domain\user 替换为您的域和用户。这就是所需要的一切。

Aspnet_regiis.exe 的 Microsoft 文档为 here 。请注意,-ga 开关的文档提到了 3.5 及更早版本中的一个错误,该错误不适用于本地帐户。如果我没看错的话,所有版本都支持域帐户,并且从 Framework 4.0 开始支持本地帐户。

<小时/>

2017 年 6 月 6 日更新:对于 Windows 8 及更高版本,请考虑使用 dism 命令。它包含在 this SO answer 中。感谢@codebrain 的建议。

<小时/>

2015 年 7 月 7 日更新:@Vertigo 善意地评论说,这个答案也适用于 2008R2/2012 下 .NET 2.0 中的NETWORK SERVICE 帐户,所以我上面的免责声明是关于4.0 之前的本地帐户可能是错误的。

如果其他人发现这适用于 .NET 3.5 或更早版本下的本地帐户,请随时编辑我的答案或在评论中注明;这对于其他可能遇到同样问题的人来说会有很大的帮助。

关于asp.net - IIS ApplicationPoolIdentity没有对 'Temporary ASP.NET Files'的写权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22756037/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com