将IIS 7.x客户端证书映射到ApplicationPoolIdentity

在IIS 6中,我能够使用以下技术:

  • 打开客户端证书的要求
  • 使用adsutil.vbs算出IUSR_ 服务器用户密码是什么
  • 创build一个一对一的证书到IUSR_ 服务器帐户的映射(这就是为什么我需要知道IUSR的密码)
  • 禁止匿名访问该网站

考虑到IIS 7.x中的所有重大更改,我假设客户端证书映射现在必须创build到ApplicationPoolIdentity? 无论如何:要创build映射,我需要指定用户名和密码,但是对于IUSR和ApplicationPoolIdentity密码似乎都不存在?

我的目标是阻止访问没有特定的客户端证书的网站。 同时,我不想创build一个单独的Windows用户,configurationAppPool使用它作为身份,然后设置一对一的证书映射到这个用户。 相反,我想依靠IIS提供的现有身份。 有任何想法吗?

ApplicationPoolIdentity在networking上被视为COMPUTERNAME $,它是一个虚拟帐户,所以它没有密码。 我不相信这将适用于您的映射。

同时,我不想创build一个单独的Windows用户,configurationAppPool使用它作为身份,然后设置一对一的证书映射到这个用户。

你为什么不想用这个方法? 这可能是你最好的select。 在IIS7中,您不需要将用户添加到IIS_WPG组。 只需创build一个您pipe理并添加到应用程序池的用户名+密码。

另外,对于您的身份validation/匿名设置,请将其设置为使用应用程序池标识。 那么你就不用担心IUSR了。 只要您为每个站点提供自己的应用程序池,或者站点相互信任,那么您可以使用此方法,并减less一个用户进行pipe理。