SecureConversationServiceCredential.SecurityStateEncoder Propriedade
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
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.