2008-10-17 22 views
3

Ceci est en relation avec this questionl'en-tête Manipuler HTTP dans WCF avant l'authentification HTTP dans HttpBinding

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

est-il un moyen d'injecter un HTTP « Authentifier » tête dans la pile de serveur (s'il manque) tôt dans le processus de demande - ce qui peut être transmis à un utilisateur par défaut dans le processus d'authentification/autorisation que je avoir en place pour les demandes anonymes?

J'ai besoin du serveur pour injecter ce sur l'extrémité de réception - avant traitement ultérieur WCF ...

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

Répondre

1

En mettant en œuvre un IDispatchMessageInspector vous pouvez brancher sur le côté serveur de pipeline; et manipuler les messages.

Dans la méthode AfterReceiveRequest, vous pouvez ajouter à Request.Headers plutôt bien. Enveloppez-le avec un attribut de comportement et appliquez-le à votre service.

-1

Je voudrais taper cela, mais c'est beaucoup. Donc, voici une bonne référence.

Le blog d'Avner Kashtan décrit ce que je "pense" que vous cherchez. Espérons que cela aide!

Adding Custom Headers To Every WCF Call

+0

qui ajoute des en-têtes aux appels sortants wcf. J'ai besoin d'ajouter des en-têtes aux appels entrants de wcf. – TheSoftwareJedi