Comment : désactiver des sessions sécurisées sur une classe WSFederationHttpBinding
Certains services peuvent requérir des informations d'identification fédérées mais ne prennent pas en charge les sessions sécurisées. Dans ce cas, vous devez désactiver la fonctionnalité de session sécurisée. Contrairement à WsHttpBinding, la classe WSFederationHttpBinding n'offre aucun moyen de désactiver les sessions sécurisées lors de la communication avec un service. À la place, vous devez créer une liaison personnalisée qui remplace les paramètres de session sécurisée par un démarrage.
Cette rubrique montre comment modifier les éléments de liaison contenus dans une WSFederationHttpBinding pour créer une liaison personnalisée. Le résultat est identique à WSFederationHttpBinding mais n'utilise pas de sessions sécurisées.
Pour créer une liaison fédérée personnalisée sans session sécurisée
Créez une instance de la classe WSFederationHttpBinding soit impérativement dans du code, soit en la chargeant à partir du fichier de configuration.
Clonez la WSFederationHttpBinding dans une CustomBinding.
Recherchez SecurityBindingElement dans CustomBinding.
Recherchez SecureConversationSecurityTokenParameters dans SecurityBindingElement.
Remplacez le SecurityBindingElement d'origine par l'élément de liaison de sécurité de démarrage des SecureConversationSecurityTokenParameters.
Exemple
L'exemple suivant permet de créer une liaison fédérée personnalisée sans session sécurisée.
Compilation du code
- Pour compiler l'exemple de code, créez un projet qui référence l'assembly System.ServiceModel.dll.