Pregunta

Estoy construyendo un servicio web que debe ser accesible a una variedad de plataformas posibles, incluyendo un número de más edad las aplicaciones ASP y ASP .NET. Después de algunas investigaciones, que se establecieron en un servicio WCF tanto con un SILENCIO (webHttpBinding) y SOAP punto final (wsHttpBinding) (de esa manera, puedo soportar una amplia gama de plataformas y aún así obtener los codificadores .NET feliz).

Para mayor seguridad, estoy usando SSL y autenticación básica HTTP en contra de mi propia base de datos de nombre de usuario / contraseñas. Así que he escrito un HttpModule para manejar los nombres de usuario y contraseñas y comprobar para SSL. Ahora, la configuración REST está funcionando perfectamente, pero estoy teniendo problemas con el extremo SOAP. No importa cuál sea la configuración que uso, el cliente SOAP nunca me envía una cabecera WWW-Autorización que puedo usar para autenticar. Estoy asumiendo que la creación de algo así como <message clientCredentialType="UserName" /> debe decirle WCF es que espere una cabecera de Autorización, y esa información será recogido por el estudio visual (o lo que sea cliente) cuando se crea una referencia Web. Tal vez estoy siendo irremediablemente ingenua.

Entonces, para resumir la pregunta: ¿hay alguna manera de que yo puedo decir WCF que me mande una cabecera WWW-autorización (es decir, una cabecera HTTP básica), junto con los mensajes SOAP

?
¿Fue útil?

Solución

Puede crear encabezados personalizados para su autenticación.

Tenga una mirada aquí

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top