Sdílet prostřednictvím


SecureConversationServiceCredential.SecurityStateEncoder Vlastnost

Definice

Získá nebo nastaví vlastní SecurityStateEncoder pro kódování a dekódování serializace souborů cookie.

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

Hodnota vlastnosti

Objekt SecurityStateEncoder , což je přizpůsobení objektu DataProtectionSecurityStateEncoder.

Příklady

Následující kód ukazuje, jak tuto vlastnost nastavit.

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);

Poznámky

V režimu souborů cookie služba klientovi vydá token kontextu zabezpečení (SCT) ve formě souboru cookie, aby nemusel udržovat žádný stav zabezpečení. Klient odešle soubor cookie zpět ve zprávě požadavku, aby služba věděla, jak zprávu žádosti odemknout a ověřit. Vzhledem k tomu, že SCT se často přenáší přes nezabezpečenou síť, musí být chráněná.

Windows Communication Foundation (WCF) ve výchozím nastavení používá DataProtectionSecurityStateEncoder třídu k ochraně souboru cookie pomocí rozhraní DPAPI (Data Protection API). Aby rozhraní DPAPI fungovalo v prostředí webové farmy, musí všechny back-endové služby běžet jako stejný uživatelský účet domény. Jinými slovy, pokud je služba hostovaná na webu, musí být pracovní proces Internetové informační služby (IIS) nakonfigurován tak, aby běžel jako uživatel domény.

Tato vlastnost umožňuje použít vlastní SecurityStateEncoder soubor k šifrování a dešifrování souboru cookie a nezávisí na rozhraní DPAPI.

Platí pro