在 IIS 5.0 中,默认情况下应用程序池的身份帐户为 ASPNET,除非启用了模拟,否则网站将在其应用程序池的身份帐户下运行。
但是在 IIS 7.0 中,我可以在两个地方配置我的网站将使用的帐户。在应用程序池级别和网站级别。
我希望网站身份能够覆盖应用程序池身份,但我刚刚发现事实并非如此。
那么,有什么区别呢?
答案1
这两个帐户是不同的。想象一下网站身份代表网站的用户。如果您创建一个新网站,此帐户就是匿名 IIS 帐户。如果您禁用“匿名身份验证”,您的用户将必须向网站进行身份验证(在内部网/Windows 域站点中,这可以使用网络凭据隐式进行。)
应用程序池标识是运行程序集所需的 Windows 帐户。通常它是“网络服务“帐户,它是具有有限用户权利和权限的最低特权帐户。它确实具有网络凭据。这意味着您可以使用它对域中的网络资源进行身份验证。您还可以使用它访问具有集成安全性的 SQL Server 数据库。
例如,如果您的 ASP.NET 应用程序必须写入文件夹,则必须将权限授予应用程序池帐户,而不是网站帐户。有关应用程序池标识的更多信息,阅读此处。
笔记:在 IIS 7 中有一种方法可以将应用程序池标识的相同帐户用于匿名网站帐户: