2013-05-28 27 views
9

Kerberosを使用して認証するMVCアプリケーションを含むプロジェクトを含む完全なVisual Studioソリューションがありますか。これはサービスコール(GetAsyncまたはPostAsyncのいずれか)中に資格情報をサービスに委任してASP.Net Web APIサービスプロジェクト(同じソリューション内)を呼び出します。Kerberos、Web APIおよびMVCを使用したプロジェクト例

Web APIプロジェクトの偽装ユーザーが、要求を行ったユーザーではなく、MVCアプリケーションを実行しているサービスアカウントとしてアクセスしている、資格情報に特定の問題があります。具体的な問題を修正するための具体的な行やコードの例が見つかりましたが、私は実際にすべてを結びつける単一のソリューションを探しています。

私はPro ASP.NET Web API SecurityASP.Net Web-API Securityなどのリソースを見てきましたが、Windows認証、特にKerberosの認可スキームの実装方法を示す完全な解決策はありません。

これは通常の質問の外に少しあるかもしれないと私は認識していますが、可能であれば特定のコードの質問を投稿するのではなく、完全な解決策を希望します。

答えて

2

MVC Webアプリケーションが最初のクエリを実行すると、ユーザーのIDがリクエストを処理するスレッドに関連付けられます。非同期Webサービス呼び出しを行うと、リモート呼び出しは、ユーザーのIDとのアタッチメントを持たないスレッドプールスレッドによって行われます。現在のID(HttpContextから)への参照を渡して偽装しようとすることもできますが、回避する必要のある競合状態があるようです。

もちろん、これはリモート呼び出しが同期して行われたときに動作することを前提としています。あなたはそれまでに得たことがありますか?

+0

はい、私はWebClientを動作させました。データオブジェクトを送信することがより困難なので、私は新しいHttpClientを使用することを望んでいました。しかし、私が読んできたことで、WebClientに悩まされているようです。 – tlbignerd

関連する問題