Udostępnij za pośrednictwem


SecureConversationServiceCredential.SecurityStateEncoder Właściwość

Definicja

Pobiera lub ustawia dostosowany SecurityStateEncoder do kodowania i dekodowania serializacji plików 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

Wartość właściwości

SecurityStateEncoder

SecurityStateEncoder Obiekt, który jest dostosowaniem elementu DataProtectionSecurityStateEncoder.

Przykłady

Poniższy kod pokazuje, jak ustawić tę właściwość.

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

Uwagi

W trybie "cookie" usługa wystawia klientowi token kontekstu zabezpieczeń (SCT) w postaci pliku cookie do klienta, aby nie musiał utrzymywać żadnego stanu zabezpieczeń. Klient wysyła plik cookie z powrotem w komunikacie żądania, aby usługa wiedziała, jak wyłączyć ochronę i zweryfikować komunikat żądania. Ponieważ protokół SCT jest często przesyłany za pośrednictwem niezabezpieczonej sieci, musi być chroniony.

Domyślnie Windows Communication Foundation (WCF) używa DataProtectionSecurityStateEncoder klasy do ochrony plików cookie przy użyciu interfejsu API ochrony danych (DPAPI). Aby interfejs DPAPI działał w środowisku farmy sieci Web, wszystkie usługi zaplecza muszą działać jako to samo konto użytkownika domeny. Innymi słowy, jeśli usługa jest hostowana w sieci Web, proces roboczy Internet Information Services (IIS) musi być skonfigurowany do uruchamiania jako użytkownik domeny.

Ta właściwość umożliwia używanie dostosowanego SecurityStateEncoder do szyfrowania i odszyfrowywania pliku cookie, a nie zależy od interfejsu DPAPI.

Dotyczy