IIS ApplicationPoolIdentity(配置IIS讀寫網站文件)

时间:2021-12-01 12:11:17

原创地址:http://www.cnblogs.com/jfzhu/p/4067297.html

转载请注明出处

从IIS 7.5开始,Application Pool Identity的Built-in Account除了LocalService,LocalSystem,NetWorkService又多了一个ApplicationPoolIdentity。关于Built-in Account参见《Windows服务使用的登陆帐号》

IIS ApplicationPoolIdentity(配置IIS讀寫網站文件)

IIS ApplicationPoolIdentity(配置IIS讀寫網站文件)

IIS ApplicationPoolIdentity(配置IIS讀寫網站文件)

IIS ApplicationPoolIdentity(配置IIS讀寫網站文件)

ApplicationPoolIdentity是IIS默认选择的Application Pool Identity。在启动应用池时会动态创建和应用池同名的虚拟帐号。说它是“虚拟”的,是因为在用户管理中看不到该用户或用户组,但该帐号又是确实存在的,比如上图中的应用池名字是WCFDemo,在任务管理器中可以看到w3wp.exe进程(即IIS进程)运行在WCFDemo帐号下。

IIS ApplicationPoolIdentity(配置IIS讀寫網站文件)

一个ASP.NET web application可能需要对certificates store中的一个certificate的private key有读权限,下面演示如何对application pool identity赋予读权限。

IIS ApplicationPoolIdentity(配置IIS讀寫網站文件)

点击Add

IIS ApplicationPoolIdentity(配置IIS讀寫網站文件)

添加 IIS AppPool\AppPoolName帐号,替换AppPoolName为应用池的名称,这里为WCFDemo。

IIS ApplicationPoolIdentity(配置IIS讀寫網站文件)

IIS ApplicationPoolIdentity(配置IIS讀寫網站文件)

总结:ApplicationPoolIdentity是从IIS 7.5之后新添加的Built-in account,是IIS创建新application pool时默认选择的运行帐号。该帐号在启动Application Pool是启动一个虚拟帐号,虚拟帐号名与Application Pool同名,在用户管理中找不到虚拟帐号,但在Task Manager中可以看到w3wp.exe运行在该虚拟帐号下。最后如果想给该虚拟帐号赋予权限,需要赋给IIS AppPool\AppPoolName,取代AppPoolName为Application Pool名称。