[英]How to pass on user's identity from web application hosted in one IIS to the web service hosted in another IIS?
我在Windows Server 2003 R2
计算机上的IIS 6.0
托管了一个Web应用程序(在ASP.net 4.0中开发)。 此Web应用程序已打开Integrated Windows Authentication
。
我已经在Windows Server 2008 R2
计算机上的IIS 7.5
托管了一个Web服务(使用WCF开发)。 '该Web应用程序也启用了Windows Authentication
。
因此, 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
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.