SecureConversationServiceCredential.SecurityStateEncoder Proprietà
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Ottiene o imposta un oggetto personalizzato SecurityStateEncoder per la codifica e la decodifica della serializzazione dei 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
Valore della proprietà
Oggetto SecurityStateEncoder , che è una personalizzazione di DataProtectionSecurityStateEncoder.
Esempio
Nel codice seguente viene illustrato come impostare questa proprietà.
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);
Commenti
In "modalità cookie", un servizio rilascia al client un token di contesto di sicurezza (SCT) sotto forma di cookie al client in modo che non sia necessario mantenere alcuno stato di sicurezza. Il client invia nuovamente il cookie nel messaggio di richiesta in modo che il servizio sappia come rimuovere la protezione e verificare il messaggio di richiesta. Poiché il codice SCT viene spesso trasmesso tramite una rete non sicura, deve essere protetto.
Per impostazione predefinita, Windows Communication Foundation (WCF) usa la classe DataProtectionSecurityStateEncoder per proteggere il cookie usando l'API Protezione dati (DPAPI). Affinché DPAPI funzioni in un ambiente Web farm, tutti i servizi back-end devono essere eseguiti come lo stesso account utente di dominio. In altre parole, se il servizio è ospitato sul Web, il processo di lavoro Internet Information Services (IIS) deve essere configurato per l'esecuzione come utente di dominio.
Questa proprietà consente di usare un oggetto personalizzato SecurityStateEncoder per crittografare e decrittografare il cookie e non dipendere da DPAPI.