0

次のシナリオがあります

トークンを発行する STS があり、それを使用して ASP.NET アプリケーションをフェデレーションしました。このアプリケーションは、必要な機能を実行するために WCF サービスを呼び出します。

しかし、ASP.NET アプリケーションで ClaimsPrinicipal.Current を調べると、STS へのアクセスに使用したユーザーのクレームに正しく対応していることがわかります。しかし、ASP.NET アプリケーションからサービスを呼び出して ClaimsPricipal.Current を調べると、null に等しいことがわかりました。

回避策として、ASP.NET アプリケーションから ClaimsPricipal.Current を渡し、Thread.CurrentPricipal を WCF サービスに配置しました。

しかし、それが正しいアプローチだとは思いません。

だから私の質問は:

1) ASP.NET クレーム プリンシパルが WCF プリンシパルと異なるのはなぜですか? 2)アクセストークンを使用してWCFサービスにもアクセスする正しいアプローチは何ですか?

4

1 に答える 1

0

identit は、バックエンド サービスに自動的に流れません。ID 委任を行う必要があります。または、WIF でよく呼ばれる ActAs に流れます。

これを見つけました: http://weblogs.asp.net/gsusx/archive/2010/07/02/enabling-wif-actas-via-configuration.aspx

これは WIF 1.0 用です。他にもサンプルがあります。

于 2013-04-14T11:56:42.647 に答える