Cómo deshabilitar sesiones seguras en WSFederationHttpBinding
Algunos servicios pueden requerir credenciales federadas pero no admiten sesiones seguras. En ese caso, debe deshabilitar la característica de sesión segura. A diferencia de WsHttpBinding, la clase WSFederationHttpBinding no proporciona ninguna manera de deshabilitar las sesiones seguras al comunicarse con un servicio. En su lugar, debe crear un enlace personalizado que reemplace los valores de sesión seguros con un arranque.
En este tema se muestra cómo modificar los elementos de enlace contenidos dentro de WSFederationHttpBinding para crear un enlace personalizado. El resultado es idéntico al WSFederationHttpBinding, sólo que no utiliza las sesiones seguras.
Para crear un enlace federado personalizado sin sesión segura
Cree una instancia de la clase WSFederationHttpBinding en código de manera imperativa o cargando una del archivo de configuración.
Clone el WSFederationHttpBinding en un CustomBinding.
Encuentre el SecurityBindingElement en el CustomBinding.
Encuentre el SecureConversationSecurityTokenParameters en el SecurityBindingElement.
Sustituya el original SecurityBindingElement con el elemento de enlace de seguridad de arranque de los SecureConversationSecurityTokenParameters.
Ejemplo
Este ejemplo crea un enlace federado personalizado sin sesión segura.
Compilar el código
- Para compilar el ejemplo de código, cree un proyecto que haga referencia al ensamblado System.ServiceModel.dll.