使用ASP.NET应用程序中的令牌来访问WCF服务

时间:2013-04-12 19:50:23

标签: asp.net wcf claims

我有以下情况

我有一个发布我的令牌的STS,我用它来联合我的ASP.NET应用程序,这个应用程序调用一个WCF服务来执行一些需要的功能。

但是当我检查ASP.NET应用程序中的ClaimsPrinicipal.Current时,我发现它正确地符合我用来访问STS的用户的声明。 但是,当我从ASP.NET应用程序调用该服务并检查ClaimsPricipal.Current时,我发现它等于null。

作为一种解决方法,我从ASP.NET应用程序传递了ClaimsPricipal.Current,并在WCF服务中使用Thread.CurrentPricipal。

但是,我觉得这不是一种正确的做法。

所以我的问题是:

1)为什么ASP.NET声称主体不像WCF主体? 2)使用访问令牌访问WCF服务的正确方法是什么?

1 个答案:

答案 0 :(得分:0)

identit不会自动流向您的后端服务 - 您需要执行身份委派 - 或者通常在WIF中调用ActAs。

发现这个: http://weblogs.asp.net/gsusx/archive/2010/07/02/enabling-wif-actas-via-configuration.aspx

这适用于WIF 1.0 - 那里有更多样本。