Domanda

Questo è in relazione a questa domanda

Sto ospitando questo servizio WCF in un host di servizi personalizzato. IIS non è un'opzione.

C'è un modo per iniettare un HTTP " Authenticate " intestazione nello stack del server (se manca) all'inizio del processo di richiesta - in modo tale che un utente predefinito possa essere passato al processo di autenticazione / autorizzazione che ho in atto per richieste anonime?

Ho bisogno che il SERVER lo inietti sul lato ricevente - prima di un'ulteriore elaborazione WCF ...

Sono abbastanza sicuro di poterlo fare con un BindingElement personalizzato o estendendo WebHttpBinding, ma qualsiasi esempio o guida sarebbe molto apprezzato. Non riesco a trovare alcun esempio di manipolazione precoce dell'intestazione (pre-autenticazione) in WCF.

È stato utile?

Soluzione

Implementando un IDispatchMessageInspector è possibile collegarsi al lato server della pipeline; e manipolare i messaggi.

Nel metodo AfterReceiveRequest puoi aggiungere a Request.Headers abbastanza felicemente.

Avvolgilo con un attributo di comportamento e applicalo al tuo servizio.

Altri suggerimenti

Lo scriverei, ma è molto. Quindi ecco un buon riferimento.

Il post sul blog di Avner Kashtan delinea ciò che io "penso" stai cercando. Speriamo che questo aiuti!

Aggiunta di intestazioni personalizzate a ogni chiamata WCF

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top