我遇到了 IIS 池标识问题。我需要为该用户授予正确的权限,但我找不到设置为 IIS 池标识的用户,即 ApplicationPoolIdentity。我发现 NetworkService 用户可能是 IIS 池标识的用户。将 IIS 池标识更改为 NetworkService 后,是否存在任何问题或需要考虑的事项?
OBS:我正在使用 Windows 7(IIS 7.5)
答案1
如果可以避免就不要这样做——使用 NetworkService 意味着您的应用程序池作为与盒子上的许多其他服务等效的身份运行。
ApplicationPoolIdentity 是映射到应用程序池名称的虚拟用户帐户。它们在本地用户和组中不可见(除非您已将其设为组成员)。
您可以在对象选择器或其他接受用户名的地方通过指定来分配权限
IIS AppPool\AppPoolNameHere
(注意间距)。
它不是您可以直接浏览的东西,但它是一个具有 SID 的项目,因此可以用来保护任何可安全资源(文件、文件夹、注册表等)。
任何 IIS 工作进程默认也是 IIS_IUSRS 的成员,但如果您想要更精确和安全的东西,以便只有一个应用程序池可以使用它,请使用 AppPoolIdentity 来执行此操作。
答案2
取决于您的应用程序还在做什么 - 但一般来说,它应该可以正常工作。
如果您需要以非常精细的方式为应用程序分配权限,我建议专门为应用程序池标识创建一个新用户,而不是使用网络服务。
答案3
如果不需要网络资源,请不要使用网络服务。您是否正在访问 UNC 路径?如果是,我会使用域帐户而不是网络服务。使用 ApplicationPoolIdentity 是最安全的方法。