Question

Cela concerne cette question

J'héberge ce service WCF dans un hôte de service personnalisé. IIS n'est pas une option.

Existe-t-il un moyen d’injecter un HTTP "Authentifier"? en-tête dans la pile de serveurs (si elle manque) au début du processus de demande, de sorte qu'un utilisateur par défaut puisse être transmis au processus d'authentification / autorisation mis en place pour les demandes anonymes?

J'ai besoin du serveur pour l'injecter à la réception - avant tout traitement WCF ...

Je suis presque sûr que je peux le faire avec un BindingElement personnalisé ou en étendant WebHttpBinding, mais des exemples ou des indications seraient grandement appréciés. Je ne trouve aucun exemple de manipulation précoce d’en-tête (pré-authentification) dans WCF.

Était-ce utile?

La solution

En implémentant un IDispatchMessageInspector, vous pouvez vous connecter au serveur du pipeline; et manipuler des messages.

Dans la méthode AfterReceiveRequest, vous pouvez facilement ajouter à Request.Headers.

Entourez-le d'un attribut de comportement et appliquez-le à votre service.

Autres conseils

Je taperais ceci, mais c’est beaucoup. Voici donc une bonne référence.

Le billet de blog d'Avner Kashtan

décrit ce que je "pense". vous cherchez. Espérons que cela aide!

Ajout d'en-têtes personnalisés à chaque appel WCF

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top