这是IIS 7.5和ASP.NET的一个问题,我一直在研究和无处可去.任何帮助将不胜感激.
我的问题是:在IIS 7.5中使用ASP.NET,IIS和/或操作系统如何允许Web应用程序写入文件夹,就像C:\dump在完全信任下运行一样?我怎么没有为应用程序池用户显式添加写访问权限(在这种情况下ApplicationPoolIdentity)?
我知道的很多:
ApplicationPoolIdentity.ApplicationPoolIdentity 表示名为"IIS APPPOOL\AppPoolName"的Windows用户帐户,该帐户在创建应用程序池时创建,其中AppPoolName是应用程序池的名称.IIS_IUSRS组的成员.C:\Users,C:\Windows等等).例如,您的应用程序将有权写入某些文件夹,例如C:\dump.IIS_IUSRS组不会获得读取或写入访问权限C:\dump(至少不能通过Windows资源管理器中的"安全"选项卡显示该访问权限).IIS_IUSRS,则在尝试写入文件夹时会出现SecurityException(如预期的那样).因此,考虑到所有这些,如何授予"IIS APPPOOL\AppPoolName"用户写入权限?w3wp.exe进程以此用户身份运行,那么是什么允许此用户写入它似乎没有显式访问权限的文件夹?
请注意,我理解这可能是为了方便起见,因为如果您在完全信任下运行,授予用户访问它需要写入的每个文件夹将是一件痛苦的事.如果要限制此访问权限,则始终可以在"中等信任"下运行该应用程序.我有兴趣了解操作系统和/或IIS允许这些写入的方式,即使似乎没有授予显式文件系统访问权限.
我在我网站上的头像上传时收到此错误.我以前从来没有得过它,最近没有任何改变让我开始得到这个错误......
Warning: is_writable() [function.is-writable]:
open_basedir restriction in effect.
File(/) is not within the allowed path(s):
Run Code Online (Sandbox Code Playgroud) 我试图在Windows Server 2008 R2上设置IIS Web服务和ASP.NET服务.物理目录已创建,但我无法使其工作.这是一个全新的IIS角色安装.

服务器位于域上,domain\server $具有读/写/浏览权限C:\inetpub\wwwroot.读/写/浏览访问权限也授予:
到目前为止我尝试过的
在Edit Virtual Directory -> Connect As对话框中,选择"应用程序用户"(通过身份验证).当我按下测试设置时,我收到上述错误.
在Edit Virtual Directory -> Connect As对话框中,选择特定用户:( IUSR无密码).当我按下测试设置时,我得到以下信息:

其他说明
匿名身份验证已启用,匿名用户身份是应用程序池标识.
应用程序池配置如下所示:

在Web浏览器中,http://localhost返回空白页但没有错误.
任何帮助,将不胜感激.
我正在尝试使用log4net写入Windows Server 2008 SP1上IIS7下的客户事件日志.但是,帐户似乎无权写入事件日志.有没有人有什么建议?
发布ASP.NET Web App后,我正在尝试在本地服务器上托管该网站.但是,当我启动它时,它在我的浏览器中给出了这个错误:
哎呀.500内部服务器错误启动应用程序时发生错误.
如何调试此错误是什么?在Visual Studio中开始使用IISExpress和"web"时,该网站可以工作(包括调试和发布配置).
我正在使用开发环境,我已经指定了app.UseDeveloperExceptionPage();.
我已按照此处的说明部署到IIS.
我也尝试了这里提供的建议(选择"删除发布前删除所有现有文件"重新发布).(OP有一个稍微不同的错误,所以这就是我发布一个新问题的原因.)
我在网上看了几个小时,但似乎没有太多关于它的内容.有任何想法吗?
我在Windows 7上,使用ASP.NET 5 RC1.
我试图在ASP.Net Web应用程序中的上传文件上运行防病毒扫描.我们正在使用Sophos,因此可以访问他们的命令行API sav32cli.在我使用的代码中:
Process proc = new Process();
proc.StartInfo.FileName = @"C:\Program Files (x86)\Sophos\Sophos Anti-Virus\sav32cli.exe";
proc.StartInfo.Arguments = @"-remove -nc " + SavedFile;
proc.StartInfo.Verb = "runas";
proc.Start();
proc.WaitForExit();
int exitCode = proc.ExitCode;
Run Code Online (Sandbox Code Playgroud)
当单步执行代码时,当连接到w3wp开发服务器上的进程时,代码只是从一行跳到另一行似乎什么都不做.从dev服务器上的代码运行时,它会执行预期的扫描文件并删除它是否被视为病毒.
服务器正在运行IIS 8.0,以及.Net Framework 4中内置的应用程序.我已根据这些说明更改了机器配置以允许进程作为SYSTEM帐户运行.https://support.microsoft.com/en-us/kb/317012#%2Fen-us%2Fkb%2F317012
<processModel userName="SYSTEM" password="AutoGenerate" />
Run Code Online (Sandbox Code Playgroud)
有什么我想念的吗?这种实施的最佳实践是什么?
编辑:调用时,Process返回ExitCode2(错误停止执行),而不是预期的0(扫描工作,没有病毒),或3(扫描工作,发现病毒).
编辑2:根据下面的评论,我将代码更改为:
Process proc = new Process();
proc.StartInfo.FileName = @"C:\Program Files (x86)\Sophos\Sophos Anti-Virus\sav32cli.exe";
proc.StartInfo.Arguments = @"-remove -nc " + SavedFile;
proc.StartInfo.RedirectStandardOutput = true;
proc.StartInfo.UseShellExecute = false;
proc.Start();
StringBuilder output = …Run Code Online (Sandbox Code Playgroud) 我正在运行运行IIS 8的Windows Server 2012 R2.整个Windows服务器环境的新功能.
要安装PHP,我遵循以下教程
部分原因是,为了正确使用PHP的会话功能,我需要创建一个新文件夹"sessions"并将"IIS_IUSRS"添加到该文件夹中.
但是,当我在"对象文件框"中输入相同内容时,它会向我提供"找不到名为IIS_IUSRS的对象"错误.
到目前为止,我已经提到了以下内容,但没有一个有用
尝试将IIS_IUSRS添加到Administrators组[关闭]
IIS或IIS_IUSRS permisions,以便PHP可以为WordPress写入文件
一直在研究几个小时,但却找不到足够的具体内容.
asp.net ×4
iis ×4
iis-7.5 ×3
c# ×2
php ×2
antivirus ×1
asp.net-core ×1
dnx ×1
filesystems ×1
iis-7 ×1
iis-8 ×1
permissions ×1
process ×1