我在公司的Intranet网站上使用不带模拟的Windows身份验证,并且使用IIS7。
在IIS7下,使用这些设置访问包含我的Web应用程序的文件夹所使用的帐户是什么?
它会是IIS_IUSRS吗?还是NETWORK SERVICE?或者是其他我不知道的帐户?
我在公司的Intranet网站上使用不带模拟的Windows身份验证,并且使用IIS7。
在IIS7下,使用这些设置访问包含我的Web应用程序的文件夹所使用的帐户是什么?
它会是IIS_IUSRS吗?还是NETWORK SERVICE?或者是其他我不知道的帐户?
NETWORK SERVICE
。
为应用程序池指定标识符(IIS 7)
在IIS 7.5(Windows 2008 R2和Windows 7)中,应用程序池在启动应用程序池时创建的ApplicationPoolIdentity下运行。如果要为此帐户设置ACL,请选择IIS AppPool\<yourpoolname>
而不是NT Authority\Network Service
。IIS AppPool\ApplicationPoolName
,而是 IIS AppPool\<yourpoolname>
。 - Jeff Shttp://forums.iis.net/t/1187650.aspx 这个链接提供了答案。将IIS认证设置为应用程序池身份即可解决此问题。
在IIS认证中,匿名身份验证被设置为“指定用户”。当我将其更改为应用程序池时,就可以访问该站点了。
要进行设置,请在IIS中单击您的网站,然后双击“认证”。右键单击“匿名身份验证”,然后单击“编辑…”选项。从“指定用户”切换到“应用程序池身份”。现在,您应该能够使用IIS AppPool\{Your App Pool Name}来设置文件和文件夹权限。
在运行IIS 7.5时,我成功地为本地计算机用户 IUSR 添加了权限。但应用程序池用户不起作用。
以下方法对我有效,简单明了:
我遇到了这个问题:
-使用 C# 创建控制台应用程序
-此应用程序使用 createeventsource,如下所示
if(!System.Diagnostics.EventLog.SourceExists(sourceName)) System.Diagnostics.EventLog.CreateEventSource(sourceName,logName);
-构建解决方案并获取 .exe 文件
-以管理员身份运行 exe。这将创建日志文件。
注意:记得刷新事件查看器才能看到日志。
我希望这个解决方案能帮助某些人 :)