6

aquí es nuestro problema .. Hemos construido un MVC Web-api que utiliza la autenticación de formularios con las cookies para gestionar las sesiones. Cuando utilizamos nuestra página web front-end en el mismo dominio (localhost o servidor web) que la aplicación web, todo funciona bien. (Usamos JQuery $ .get y $ .post para comunicarnos con la API web).uso de formularios de autenticación entre dominios

Aunque en el futuro se supone que el front-end es una aplicación html5 independiente, que no se encuentra en el mismo dominio que la API web. Esto no funciona por desgracia.

La API web devuelve una cookie de autenticación al cliente, PERO la cookie no se devuelve a la API web cuando el front-end envía sus solicitudes. Cuando tanto web-api como front-end están en el mismo dominio, la cookie se envía automáticamente con la solicitud.

Hemos intentado configurar "Access-Control-Allow-Origin: *" y "Access-Control-Allow-Authentication: true" en el archivo web-api webconfig.

+0

¿Pudo resolver este problema? Estoy en una situación similar a la de mi cliente en una aplicación de chat basada en HTML5 que se ejecuta en contenedores de navegador móvil. –

Respuesta

4

Lo que necesita es una función de inicio de sesión único (SSO).

El navegador solo recibirá cookies en el mismo dominio, es por eso que no funciona cuando las aplicaciones se encuentran en dominios diferentes.

Hay un buen artículo en CodeProject sobre la implementación de SSO en ASP.NET - http://www.codeproject.com/Articles/106439/Single-Sign-On-SSO-for-cross-domain-ASP-NET-applic que también se aplica a ASP.Net MVC.

+0

¡Es un gran artículo! – saiyancoder

Cuestiones relacionadas