次の方法で共有


SecureConversationServiceCredential.SecurityStateEncoder プロパティ

定義

クッキー シリアル化をエンコードおよびデコードするためのカスタマイズした SecurityStateEncoder を取得または設定します。

public:
 property System::ServiceModel::Security::SecurityStateEncoder ^ SecurityStateEncoder { System::ServiceModel::Security::SecurityStateEncoder ^ get(); void set(System::ServiceModel::Security::SecurityStateEncoder ^ value); };
public System.ServiceModel.Security.SecurityStateEncoder SecurityStateEncoder { get; set; }
member this.SecurityStateEncoder : System.ServiceModel.Security.SecurityStateEncoder with get, set
Public Property SecurityStateEncoder As SecurityStateEncoder

プロパティ値

SecurityStateEncoder オブジェクト。これはカスタマイズされた DataProtectionSecurityStateEncoder です。

次のコードに、このプロパティを設定する方法を示します。

static void Configure(ServiceHost serviceHost)
{
    /*
     * There are certain settings that cannot be configured via app.config.
     * The security state encoder is one of them.
     * Plug in a SecurityStateEncoder that uses the configured certificate
     * to protect the security context token state.
     *
     * Note: You don't need a security state encoder for cookie mode.  This was added to the
     * sample to illustrate how you would plug in a custom security state encoder should
     * your scenario require one.
     * */
    serviceHost.Credentials.SecureConversationAuthentication.SecurityStateEncoder =
            new CertificateSecurityStateEncoder(serviceHost.Credentials.ServiceCertificate.Certificate);

注釈

"クッキー モード" では、サービスがクッキー形式でセキュリティ コンテキスト トークン (SCT) をクライアントに発行するため、セキュリティ状態を維持する必要がありません。 クライアントは要求メッセージでクッキーを送り返して、サービスに要求メッセージの保護を解除して検証する方法を伝達します。 SCT はセキュリティで保護されていないネットワーク経由で転送されることが多いため、保護する必要があります。

既定では、Windows Communication Foundation (WCF) は クラスを DataProtectionSecurityStateEncoder 使用して、Data Protection API (DPAPI) を使用して Cookie を保護します。 DPAPI が Web ファーム環境で機能するようにするには、すべてのバックエンド サービスが同じドメイン ユーザー アカウントとして実行されている必要があります。 言い換えると、サービスが Web ホストである場合は、インターネット インフォメーション サービス (IIS) ワーカー プロセスをドメイン ユーザーとして実行するよう構成する必要があります。

このプロパティにより、DPAPI を使用せずに、カスタマイズされた SecurityStateEncoder を使用してクッキーを暗号化および復号化することができます。

適用対象