方法 : WSFederationHttpBinding のセキュリティで保護されたセッションを無効にする

フェデレーション資格情報を必要とするサービスの中には、セキュリティで保護されたセッションをサポートしないものがあります。その場合は、セキュリティで保護されたセッション機能を無効にする必要があります。WsHttpBinding とは異なり、WSFederationHttpBinding クラスでは、サービスとの通信中に、セキュリティで保護されたセッションを無効にできません。代わりに、セキュリティで保護されたセッションの設定をブートストラップで置き換えるカスタム バインディングを作成する必要があります。

ここでは、WSFederationHttpBinding に含まれるバインディング要素を変更してカスタム バインディングを作成する方法を示します。結果は、セキュリティで保護されたセッションを使用しないことを除き、WSFederationHttpBinding と同じです。

セキュリティで保護されたセッションを使用しないカスタム フェデレーション バインディングを作成するには

  1. コードで強制的に、または構成ファイルから読み込む方法によって、WSFederationHttpBinding クラスのインスタンスを作成します。

  2. WSFederationHttpBinding の複製を CustomBinding 内に作成します。

  3. CustomBinding 内で SecurityBindingElement を見つけます。

  4. SecurityBindingElement 内で SecureConversationSecurityTokenParameters を見つけます。

  5. 元の SecurityBindingElementSecureConversationSecurityTokenParameters のブートストラップ セキュリティ バインディング要素で置き換えます。

次の例では、セキュリティで保護されたセッションを使用しないカスタム フェデレーション バインディングを作成します。

コードのコンパイル

  • このコード例をコンパイルするには、System.ServiceModel.dll アセンブリを参照するプロジェクトを作成します。

関連項目

概念

バインディングとセキュリティ