SecureConversationServiceCredential.SecurityStateEncoder Egenskap
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
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.