我在IIS 6.0
计算机上的Windows Server 2003 R2
中托管了一个Web应用程序(在ASP.net 4.0中开发)。此Web应用程序的Integrated Windows Authentication
已打开。
我已经在IIS 7.5
机器的Windows Server 2008 R2
中托管了一个Web服务(使用WCF开发)。 'Windows Authentication
也为此Web应用程序启用。
因此Integrated Windows Authentication
对于在不同计算机上的单独IIS中托管的两个Web应用程序都可以独立正常运行。
当从本地计算机上浏览Web应用程序,并且网页在内部调用该服务时,问题就会出现。在这种情况下,按预期“服务不在我的Windows身份下运行”。它可以在asp.net Web应用程序或Web服务的Web应用程序的应用程序池的标识下运行。
我不希望我的Web服务承担对用户进行身份验证的责任。它将使用简单的basicHttpBinding
。它只会使用CurrentPrincipal
或HttpContext
等读取用户的名称。验证用户身份仅应由IIS完成。
有人可以帮助我将Windows身份从一个IIS传递到另一个IIS吗?
您需要设置kerberos委派,因为默认情况下身份不会传递给另一台机器。
http://blogs.technet.com/b/askds/archive/2008/11/25/fun-with-the-kerberos-delegation-web-site.aspx