为什么我的IIS6站点不使用AppPool凭证?

我有一个站点在根站点的凭据下运行,而不是在它的AppPool中的一个,不知道为什么。 这在其他服务器上不是问题。

组态:

  • Windows Server 2003
  • 使用域服务帐户(域\ iis-user)在自定义AppPool中运行的站点(test.domain.com)
  • 应用程序运行在不同的凭证(域\应用程序用户)不同的AppPool下

当我浏览到test.domain.com/app时,WindowsIdentity.GetCurrent()。Name显示domain \ iis-user而不是domain \ app-user。

我已经检查过,两个用户帐户都在服务器上正确的IIS安全组,并尝试设置SPN。 将AppPool的帐户更改为已知的好帐户没有任何区别。

也许写出PID,并检查它是否在你认为正在运行的App Pool中运行。

身份可能是一个次要问题 – 例如,如果启用匿名,请求可能是模拟匿名用户帐户,这可能与另一个ID一致。

同样,远程共享的UNC凭据可能会导致证书与 – 例如ASP.Net一起使用。

我怀疑你已经在站点或根站点web.configconfiguration了<identity impersonate="true" />

这也可以在位于以下位置的machine.config文件中configuration:

%SYSTEMROOT%\Microsoft.NET\Framework\v2.0.50727\CONFIG