SecureConversationServiceCredential.SecurityStateEncoder Propriedade

Definição

Obtém ou definem uma série personalizada SecurityStateEncoder para codificação e decodificação de cookies.

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

Valor de Propriedade

Um SecurityStateEncoder objeto, que é uma personalização de DataProtectionSecurityStateEncoder.

Exemplos

O código seguinte mostra como definir esta propriedade.

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

Observações

No "modo cookie", um serviço emite ao cliente um token de contexto de segurança (SCT) sob a forma de cookie para o cliente, para que não tenha de manter qualquer estado de segurança. O cliente envia o cookie de volta na mensagem de pedido para que o serviço saiba como desproteger e verificar a mensagem de pedido. Como o SCT é frequentemente transmitido através de uma rede não segura, deve ser protegido.

Por defeito, o Windows Communication Foundation (WCF) utiliza a classe DataProtectionSecurityStateEncoder para proteger o cookie usando a API de Proteção de Dados (DPAPI). Para que o DPAPI funcione num ambiente web farm, todos os serviços backend têm de funcionar com a mesma conta de utilizador do domínio. Ou seja, se o serviço for hospedado na Web, então o processo worker do Serviços de Informação Internet (IIS) deve ser configurado para correr como utilizador de domínio.

Esta propriedade permite-lhe usar um dispositivo personalizado SecurityStateEncoder para encriptar e desencriptar o cookie sem depender do DPAPI.

Aplica-se a