SecureConversationServiceCredential.SecurityStateEncoder Propriedade
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Obtém ou define um SecurityStateEncoder personalizado para codificar e decodificar a serializaçã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 da propriedade
Um SecurityStateEncoder objeto, que é uma personalização de DataProtectionSecurityStateEncoder.
Exemplos
O código a seguir mostra como definir essa 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);
Comentários
No "modo cookie", um serviço emite ao cliente um token de contexto de segurança (SCT) na forma de um cookie para o cliente para que ele não precise manter nenhum estado de segurança. O cliente envia o cookie de volta na mensagem de solicitação para que o serviço saiba como desproteger e verificar a mensagem de solicitação. Como o SCT geralmente é transmitido por uma rede não segura, ele deve ser protegido.
Por padrão, Windows Communication Foundation (WCF) usa a DataProtectionSecurityStateEncoder classe para proteger o cookie usando a API de Proteção de Dados (DPAPI). Para que o DPAPI funcione em um ambiente de farm da Web, todos os serviços de back-end devem ser executados como a mesma conta de usuário de domínio. Em outras palavras, se o serviço estiver hospedado na Web, o processo de trabalho do Serviços de Informações da Internet (IIS) deverá ser configurado para ser executado como um usuário de domínio.
Essa propriedade permite que você use um personalizado SecurityStateEncoder para criptografar e descriptografar o cookie e não depender do DPAPI.