現在、独自の認証データベースと通信する MVC4 自家製のセキュア トークン サービス (STS) を使用しています。このセットアップでは、すべてがうまく機能しています。新しい機能として、ADFS2 を介して、ドメインにいるユーザーに対してシングル サインオン (SSO) の機能を追加する必要があります (現在の un/pw 画面をバイパスし、ユーザーはただ 'in' になります)。ドメイン ユーザー (SSO)、ドメイン クレデンシャル (ドメイン上にないドメイン ユーザーがドメイン un/pw に入る)、およびデータベースからの元の un/pw 認証です。Web.config 設定を依存アプリケーションに追加して STS を接続する方法について知っている場合、wsFederation パッシブ リダイレクト オプション (un/pw の STS への現在のリダイレクトと ADFS オプション) の両方を接続するにはどうすればよいでしょうか? これはコードで処理する必要があるものですか? WSFederationAuthenticationModule などのオーバーロードされたクラスを通じて? 私が望むものを処理する最良の方法は何ですか? コード例はありますか? 御時間ありがとうございます!
1 に答える
カスタム STS にログイン画面があり、「ADFS でログイン」または「ドメイン ユーザーとしてログイン」という 2 つの追加ボタンがあります。どちらのボタンも、STS がフェデレーションされている他の 2 つの STS にリダイレクトされます (STS は、ID 提供 STS または依存 STS のいずれかの役割を果たします)。
それはそれほど複雑ではありません。必要なのは、2 つSignInRequestMessage
の を作成し、それらのWriteQueryString
ビルド 2 つの URL を 2 つの異なる STS に使用することです。別の方法は、WSFederationAuthenticationModule::CreateSignInRequest
メソッドを使用することです。
エンドポイントの役割を果たす単一の uri (または 2 つの異なる uri) が必要なため、応答の消費は巧妙です。uri では、トークン レシーバーが必要であり、プロバイダーから送信された SAML からトークンを作成しようとします。
wif:FederatedPassiveSignIn
私が一度書いたメソッドのコミュニティ置換のソースをのぞくと、アイデアが得られます
(コードの少なくとも半分は WebForms ユーザー コントロール インフラストラクチャを担当しますが、残りの半分は探しているものです)
残念なことに、このようなカスタムの混合シナリオは、フェデレーション モジュールの構成だけでは簡単に処理できません。