Langue

SecureConversationServiceCredential.SecurityStateEncoder Propriété

Définition

Obtient ou définit une valeur personnalisée SecurityStateEncoder pour l’encodage et le décodage de la sérialisation des 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

Valeur de propriété

Objet SecurityStateEncoder , qui est une personnalisation de DataProtectionSecurityStateEncoder.

Exemples

Le code suivant montre comment définir cette propriété.

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

Remarques

En « mode cookie », un service émet au client un jeton de contexte de sécurité (SCT) sous la forme d’un cookie au client afin qu’il n’ait pas à maintenir l’état de sécurité. Le client renvoie le cookie dans le message de demande afin que le service sache comment annuler la protection et vérifier le message de demande. Étant donné que le SCT est souvent transmis sur un réseau non sécurisé, il doit être protégé.

Par défaut, Windows Communication Foundation (WCF) utilise la classe DataProtectionSecurityStateEncoder pour protéger le cookie à l’aide de l’API de protection des données (DPAPI). Pour que DPAPI fonctionne dans un environnement de batterie de serveurs web, tous les services principaux doivent s’exécuter en tant que même compte d’utilisateur de domaine. En d’autres termes, si le service est hébergé sur le web, le processus de travail Internet Information Services (IIS) doit être configuré pour s’exécuter en tant qu’utilisateur de domaine.

Cette propriété vous permet d’utiliser une fonctionnalité personnalisée SecurityStateEncoder pour chiffrer et déchiffrer le cookie et ne dépend pas de DPAPI.

S’applique à