使用WIF 4.5跨WCF服务进行身份委派

时间:2014-05-12 14:48:50

标签: .net wcf wcf-security wif claims-based-identity

我正在构建一个应用程序,其中客户端调用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服务中传递客户端的主体?

1 个答案:

答案 0 :(得分:0)

这是the Double-Hop Problem。您的第一个WCF服务尝试使用其运行的帐户运行查询到第二个WCF服务。您必须在第一个WCF服务上模拟您的呼叫。以下是一个示例:WCF impersonationASP