SecureConversationServiceCredential.SecurityStateEncoder Egenskap

Definition

Hämtar eller anger en anpassad SecurityStateEncoder för kodning och avkodning av cookie-serialisering.

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

Egenskapsvärde

Ett SecurityStateEncoder objekt, som är en anpassning av DataProtectionSecurityStateEncoder.

Exempel

Följande kod visar hur du anger den här egenskapen.

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

Kommentarer

I "cookieläge" utfärdar en tjänst klienten en säkerhetskontexttoken (SCT) i form av en cookie till klienten så att den inte behöver upprätthålla något säkerhetstillstånd. Klienten skickar tillbaka cookien i begärandemeddelandet så att tjänsten vet hur man tar bort skyddet och verifierar begärandemeddelandet. Eftersom SCT ofta överförs via ett icke-säkert nätverk måste det skyddas.

Som standard använder Windows Communication Foundation (WCF) klassen DataProtectionSecurityStateEncoder för att skydda cookien med hjälp av DATASKYDDS-API:et (DPAPI). För att DPAPI ska fungera i en webbgruppsmiljö måste alla serverdelstjänster köras som samma domänanvändarkonto. Om tjänsten med andra ord är webbhanterad måste arbetsprocessen Internet Information Services (IIS) konfigureras för att köras som en domänanvändare.

Med den här egenskapen kan du använda en anpassad SecurityStateEncoder för att kryptera och dekryptera cookien och inte vara beroende av DPAPI.

Gäller för