6

hier ist unser Problem verwenden .. wir einen MVC Web-api aufgebaut haben die Formularauthentifizierung mit Cookies verwendet Sitzungen zu behandeln. Wenn wir unsere Front-End-Webseite auf der gleichen Domain (localhost oder Webserver) wie die Web-API verwenden, funktioniert alles gut. (Wir verwenden JQuery $ .get und $ .post, um mit der Web-API zu kommunizieren).Formularauthentifizierung Cross-Domain-

Obwohl das Front-End in Zukunft eine eigenständige html5 App sein soll, die nicht auf der gleichen Domain wie die Web-API liegt. Dies funktioniert leider nicht.

Die Web-API gibt einen Authentifizierungscookie an den Client zurück, aber der Cookie wird nicht zurück an die Web-API gesendet, wenn das Frontend seine Anfragen sendet. Wenn sich sowohl Web-API als auch Front-End auf derselben Domain befinden, wird der Cookie automatisch mit der Anfrage gesendet.

Wir haben versucht, "Access-Control-Allow-Origin: *" und "Access-Control-Allow-Authentifizierung: True" in der Web-API-Webconfig-Datei.

+0

Konnten Sie dieses Problem lösen? Ich bin in einer ähnlichen Situation, aber meine Client-App in einer HTML5-basierten Phonegap-Anwendung, die auf mobilen Browser-Containern ausgeführt wird. –

Antwort

4

Was Sie benötigen, ist eine Single-Sign-On (SSO) -Funktion.

Browser wird nur Cookies für die gleiche Domäne, das ist der Grund, warum es nicht funktionierte, wenn Anwendungen auf verschiedenen Domänen befinden.

Es gibt einen schönen Artikel in CodeProject über die Implementierung von SSO in ASP.NET - http://www.codeproject.com/Articles/106439/Single-Sign-On-SSO-for-cross-domain-ASP-NET-applic es gilt auch für ASP.Net MVC.

+0

Das ist ein toller Artikel! – saiyancoder

Verwandte Themen