5

フェデレーション認証を使用したクライアントと wcf サービス アプリケーション間の通信に問題があります。

クライアント アプリケーション (フォーム認証を使用した ASP.NET MVC) で、ユーザー データをクレームに渡し、SessionSecurityToken を作成します。

  SessionSecurityToken sessionSecurityToken = new
 SessionSecurityToken(transformedPrincipal,
 TimeSpan.FromMinutes(tokenLifeTime)); 
 sessionSecurityToken.IsReferenceMode = true;
 FederatedAuthentication.SessionAuthenticationModule.WriteSessionTokenToCookie(sessionSecurityToken);

tokenLifeTime は 25 分です。

私のサービスでは、Cookie を読み取り、クレームに保存されているユーザー データを取得したいと考えています。ただし、サービスで次のコードを実行すると:

 SessionSecurityToken token;
 FederatedAuthentication.SessionAuthenticationModule.TryReadSessionTokenFromCookie(out token);

トークンがヌルです。

アップデート:

クライアント アプリケーションでサービスを作成するだけで、問題なくトークンが読み取られることに気付きました。また、Httpcontext.Current.user を設定するだけで問題なく動作します。ただし、サービス参照を介してサービスを消費したいのですが、このシナリオでは、両方とも HttpContext.Current.User が空 (null ではない!) であり、上記のように Cookie が読み取られません。

4

0 に答える 0