Pergunta

Estou construindo um serviço da web que precisa estar acessível a uma variedade de plataformas em potencial, incluindo vários aplicativos ASP e ASP .NET mais antigos. Depois de algumas pesquisas, eu decidi por um serviço WCF com um ponto de extremidade REST (WebHttpBinding) e SOAP (WSHTTPBINDING) (dessa maneira, posso suportar uma ampla gama de plataformas e ainda deixar os codificadores .NET Happy).

Para segurança, estou usando a autenticação SSL e HTTP básica contra meu próprio banco de dados de nome de usuário/senhas. Então, eu escrevi um httpmodule para lidar com os nomes de usuário e senhas e verificar se há SSL. Agora, a configuração restante está funcionando perfeitamente, mas estou tendo problemas com o terminal SOAP. Independentemente das configurações que eu uso, o cliente SOAP nunca me envia um cabeçalho de autorização www que eu posso usar para autenticar. Estou assumindo que definir algo como <message clientCredentialType="UserName" /> Deve dizer ao WCF que espero um cabeçalho de autorização e que as informações sejam retiradas pelo Visual Studio (ou qualquer outro cliente) quando criar uma referência da Web. Talvez eu esteja apenas sendo irremediavelmente ingênuo.

Então, para resumir a pergunta: existe alguma maneira de dizer ao WCF que me envie um cabeçalho de autorização www (ou seja, um cabeçalho básico HTTP) junto com as mensagens de sabão?

Foi útil?

Solução

Você pode criar cabeçalhos personalizados para sua autenticação.

Dar uma olhada aqui

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top