Estamos creando un servicio web con WCF en .net 4.0. El servicio será utilizado principalmente por una interfaz ASP.net MVC, pero también será utilizado por una aplicación .net de Windows.¿La mejor estrategia para pasar un token/cookie a un servicio WCF?
La autenticación básica de nombre de usuario/contraseña no funcionará, ya que no queremos guardar las credenciales de usuario, así que estaba pensando en autenticar una vez y crear un token simple (¿o debería llamarlo una cookie?) Con RNGCryptoServiceProvider .GetBytes() y luego usar eso para autenticar más solicitudes.
He examinado los diversos métodos comunes para hacer seguridad con WCF y en su mayoría parecen demasiado complejos, especialmente cuando todo lo que queremos hacer es esencialmente pasar una cookie a cada llamada a un método.
¿Cuál sería la mejor estrategia para pasar esta cookie de un cliente WCF a nuestros servicios WCF? El método preferido sería tan estrechamente acoplado con la arquitectura de seguridad de WCF como sea posible.
Hasta ahora me he apoyado en cualquiera usando custom HTTP headers, o custom authorization, pero no estoy seguro de cuál es el método más apropiado, en su caso.
Tenga en cuenta que para el sitio web ASP, se creará un nuevo canal para cada solicitud, mientras que se volvería a utilizar en la aplicación de Windows.
Esto no tiene nada que ver con C, estoy eliminando la etiqueta. –
@JoachimPileborg Lo etiqueté con C# solo para indicar mi preferencia por las muestras de código recibidas. ¿Debería especificar esto en la descripción en su lugar? –
Por error lo etiquetó C, no C#. Puede agregar la etiqueta si lo desea. –