0

Silverlight、WP7、および ASP.NET MVC クライアント アプリケーションをいくつか持っています。ほとんどのアプリケーションでは、アプリケーションへの匿名アクセスを許可していますが、ログイン時のユーザーの資格情報に基づいてさまざまな機能を保護しています。すべてのクライアントは、データ アクセスとビジネスに共通のバックエンド サービス アプリケーションを使用しています。認証と承認のためにユーザーの資格情報を必要とする処理。

現在、すべてのクライアント アプリケーションでフォーム認証を使用しており、フェデレーション ID とクレーム ベースのモデルを使用するようにアーキテクチャを移行したいと考えています。パッシブ フェデレーションはオプションではありません。

次の流れを探しています。

  1. ユーザーはログイン ダイアログをトリガーし、ユーザー名とパスワードを入力して [OK] をクリックします。
  2. バックグラウンドで、アプリケーションは認証のために既存のサービス アプリケーションでアクティブな STS サービスを呼び出します。
  3. このサービスは実際にはフェデレーション STS であり、ADFS である場合とそうでない場合がある (アクティブな) IP_STS に呼び出しを渡します。
  4. IP がトークンを FP に返すと、FP はクライアント アプリケーションにトークンを返す前に、サーバー データ ストアからの追加のクレームでトークンを変更します。
  5. クライアント アプリケーションは、承認チェックのためにトークンをメモリ内に保持します (たとえば、Thread.CurrentPrincipal 内)。
  6. クライアントは、サービス アプリケーションで他のサービス操作に要求を行うときにもトークンを渡します。
  7. これらのサービス操作は、トークンを使用してリクエストを認証/承認します。

これは、私が見つけたどの記事やサンプルとも大きく異なるユース ケースです。誰かがガイダンスを提供したり、正しい方向に向けたりすることはできますか?

4

1 に答える 1

1

Dominic Baier からの私の理解では、WIF は現在、私たちが採用しているアプローチをサポートしていません。私たちは彼の提案を受けて、プロバイダー モデルを使用して認証を管理する独自のカスタム STS を作成しました。

残念なことに、これを進めれば進めるほど、WIF は現時点でニーズを満たすのに十分な柔軟性を備えていないことに気付きました。カスタム STS アプローチに固執しましたが、WIF ツールではなく、独自のトランスポートと資格情報を使用しています。願わくば、将来のリリースで私たちが望むものを提供してくれることを願っています。

于 2011-11-17T14:52:15.933 に答える