SecureConversationServiceCredential.SecurityStateEncoder Eigenschap

Definitie

Hiermee haalt u een aangepaste SecurityStateEncoder coderings- en decoderingsserialisatie van cookies op of stelt u deze in.

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

Waarde van eigenschap

Een SecurityStateEncoder object, een aanpassing van DataProtectionSecurityStateEncoder.

Voorbeelden

De volgende code laat zien hoe u deze eigenschap instelt.

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

Opmerkingen

In de 'cookiemodus' geeft een service de client een beveiligingscontexttoken (SCT) uit in de vorm van een cookie aan de client, zodat deze geen beveiligingsstatus hoeft te onderhouden. De client stuurt de cookie terug in het aanvraagbericht, zodat de service weet hoe de beveiliging kan worden opheffen en het aanvraagbericht moet verifiëren. Omdat de SCT vaak via een niet-beveiligd netwerk wordt verzonden, moet deze worden beveiligd.

Standaard gebruikt Windows Communication Foundation (WCF) de klasse DataProtectionSecurityStateEncoder om de cookie te beveiligen met behulp van de Data Protection-API (DPAPI). Als DPAPI werkt in een webfarmomgeving, moeten alle back-endservices worden uitgevoerd als hetzelfde domeingebruikersaccount. Met andere woorden, als de service wordt gehost op het web, moet het Internet Information Services (IIS)-werkproces worden geconfigureerd om te worden uitgevoerd als domeingebruiker.

Met deze eigenschap kunt u een aangepaste SecurityStateEncoder cookie versleutelen en ontsleutelen en niet afhankelijk zijn van DPAPI.

Van toepassing op