Manipulación del encabezado HTTP en WCF antes de la autenticación HTTP en HttpBinding
-
03-07-2019 - |
Pregunta
Esto está relacionado con esta pregunta
Estoy hospedando este servicio WCF en un host de servicio personalizado. IIS no es una opción.
¿Hay alguna forma de inyectar un HTTP " Autenticar " encabezado en la pila del servidor (si falta) al principio del proceso de solicitud, de manera que un usuario predeterminado pueda pasar al proceso de autenticación / autorización que he implementado para solicitudes anónimas.
Necesito el SERVIDOR para inyectar esto en el extremo receptor, antes de continuar con el procesamiento de WCF ...
Estoy bastante seguro de que puedo hacer esto con un BindingElement personalizado, o extendiendo WebHttpBinding, pero cualquier ejemplo u orientación sería muy apreciado. No puedo encontrar ningún ejemplo de manipulación temprana del encabezado (autenticación previa) en WCF.
Solución
Al implementar un IDispatchMessageInspector puede conectarse al lado del servidor de canalización; y manipular mensajes.
En el método AfterReceiveRequest puede agregar a Request.Headers con bastante alegría.
Envuélvalo con un atributo de comportamiento y aplíquelo a su servicio.
Otros consejos
Me gustaría escribir esto, pero es mucho. Así que aquí hay una buena referencia.
La publicación del blog de Avner Kashtan describe lo que " pienso " estas buscando. ¡Espero que esto ayude!