2009-04-21 9 views
1

この環境は、WCFを使用してWindows環境で実行される社内サービスベースのアプリケーションです。最終クライアントのIDを持つSOAPヘッダー

  • あり、いくつかの「中間層」ASP.NET WebアプリケーションとWindows認証を使用して、最終的なクライアントを認証Webサービスがあり、かつ、適切なRolePrincipalにのThread.CurrentPrincipalを設定するには、ASP.NETの役割を使用しています。これらのアプリケーションは、それぞれ独自のサービスアカウント(ドメインアカウント)で実行され、信頼できるサブシステムとみなされます。

  • これらの信頼できる「中間層」アプリケーションによってのみアクセスできる一部のバックエンドWCF Webサービス。 Windows認証を使用して、これらのアプリケーションで使用されるサービスアカウントへのアクセスを制限します。

現在のコール中間層アプリケーションのバックエンドサービスへの呼び出しの結果、最終的なクライアントの識別情報を監査するバックエンドサービスのための要件が​​あります。

アプリケーションの変更を避けるために、最終的なクライアントのIDを含むSOAPヘッダーをバックエンドサービスに送信される要求に挿入するエンドポイント動作を作成することを考えていました。中間層アプリケーションは信頼されているため、このSOAPヘッダーの認証は必要ありません。

この要件は一意ではない可能性があるので、この目的のために独自のSOAPヘッダーを作成する前に、この領域に再利用できる基準があるかどうか尋ねると思いました。

答えて

0

あなたはWCFの偽装の後にいるようですが、MSDN LinkまたはGoogleの検索用語で詳細を確認してください。私は自分自身を使ったことがないので、完全に助言することはできませんが、うまくいけば、それはあなたが何をしているかです。幸運

編集:WCF OperationContextは、第2フェーズにIDを持ちませんか? (OperationContext.Current.ServiceSecurityContext.PrimaryIdentity.Name)

+0

いいえ私は偽装後ではありません。中間層アプリケーションは、独自のIDで実行される信頼できるサブシステムです。クライアントの一部をSOAPヘッダーに転送するだけで、そのクライアントを偽装する必要はありません。カスタムのSOAPヘッダーで簡単にこれを行うことはできますが、標準があるかどうかは疑問です。 – Joe

+0

ご迷惑をおかけしていますが、ご了承ください。 – Tanner

関連する問題