我正在构建一个应用程序,其中客户端调用WCF服务,比如Service1,来执行某些操作。此WCF服务Service1依次调用另一个WCF服务(例如Service2)来执行子操作。
我在.NET 4.5中使用WIF。我的客户端在登录的用户帐户下运行,我的WCF服务在本地服务a / c下运行。我已将WIF配置为使用Windows身份验证和Windows主体。我没有使用任何STS。
WCF Service1从ClaimsPrincipal.Current获取客户端的Windows主体和身份。但Service2获取本地服务帐户主体和身份。这是在可信的子系统主体上工作。但我需要客户端的身份,登录用户的身份传递给Service2。
我想知道如何配置我的应用程序以使用WIF身份委派,即如何在我的WCF服务中传递客户端的主体?
答案 0 :(得分:0)
这是the Double-Hop Problem。您的第一个WCF服务尝试使用其运行的帐户运行查询到第二个WCF服务。您必须在第一个WCF服务上模拟您的呼叫。以下是一个示例:WCF impersonation,ASP