Manipulando o cabeçalho HTTP no WCF antes de autenticação HTTP em HttpBinding
-
03-07-2019 - |
Pergunta
Esta é em relação a esta questão
Eu estou hospedando este serviço WCF em um host de serviço personalizado. IIS não é uma opção.
Existe uma maneira de injetar um HTTP "Authenticate" cabeçalho no servidor pilha (se estiver faltando) no início do processo de pedido - de tal forma que um usuário padrão pode ser passado para a autenticação / processo de autorização que eu tenho no lugar para solicitações anônimas?
Eu preciso do servidor para injectar este no fim de recepção - antes de processamento adicional WCF ...
Eu tenho certeza que eu posso fazer isso com um BindingElement personalizado ou através do alargamento do WebHttpBinding, mas quaisquer exemplos ou orientação seria muito apreciada. Não consigo encontrar qualquer exemplos de manipulação de cabeçalho no início (pré autenticação) em WCF.
Solução
Ao implementar um IDispatchMessageInspector você pode ligar para o lado do servidor gasoduto; e manipular mensagens.
No método AfterReceiveRequest você pode adicionar ao Request.Headers completamente feliz.
envolvê-la com um atributo de comportamento e aplicá-la a seu serviço.
Outras dicas
Eu iria escrever isso, mas a sua muito a. Então aqui é uma referência boa.
postagem no blog de Avner Kashtan contornos que eu "pensar" que você está procurando. Esperemos que esta ajuda!