我在IIS 6.0
的Windows Server 2003 R2
机器上有一个web应用程序(在ASP.net 4.0中开发)。此Web应用程序已打开Integrated Windows Authentication
。如何将用户的身份从一个IIS中托管的Web应用程序传递到托管在另一个IIS中的Web服务?
我已经在Windows Server 2008 R2
机器上主持了一个web服务(使用WCF开发)IIS 7.5
。 'Windows Authentication
也为此Web应用程序启用。
- 我使用我的Windows域帐户登录到本地计算机。当我浏览Web应用程序时,它向我询问我的域用户名和密码。在Web应用程序中,我正确地获得了我的身份。
- 从我的机器(使用其他Winform应用程序),如果我调用Web服务的相同Web应用程序,服务代码将在我的Windows身份下执行。
所以Integrated Windows Authentication
工作正常独立两个单独的IIS托管在不同的机器上的网络应用程序。
问题出现时,从我的本地机器浏览Web应用程序,网页在内部调用服务。在这种情况下,“服务不会在我的Windows身份下运行”如预期的那样。它或者以asp.net web应用程序的应用程序池或Web服务的Web应用程序的身份运行。
我不希望我的web服务负责认证用户。它会使用简单的basicHttpBinding
。它将只读取使用CurrentPrincipal
或HttpContext
等用户的名称。验证用户的身份应该仅由IIS完成。
有人可以帮我把我的Windows身份从一个IIS传递给另一个吗?