2017-08-22 2 views
0

Je poste cette question parce que j'ai passé beaucoup de temps à trouver la solution et ne trouve rien à ce sujet sur SO.Session ASP.NET perdue dans Chrome

J'utilise un .NETWebAPI comme back end et stocke les informations utilisateur dans la session.

Pour toute raison, le session est perdu dans Chrome.

Je reçois le cookie Set avec l'ID de session sur ma première demande, mais la session n'est pas définie dans Chrome mais est définie dans IE.

J'ai essayé de changer le web.config plusieurs fois et de changer la configuration du serveur mais rien n'a changé. Je m'appelle fetch API pour appeler mes services.

Répondre

0

Le problème est sur la récupération et non sur le serveur.

La chose étrange est que c'est un travail sur IE. Apparemment IE n'a pas la même politique pour l'API de récupération.

Vous devez vous assurer d'ajouter la propriété credentials à include ou same-origin pour garder la session sur votre demande.

Avertissement: Mettez les informations d'identification à include déclenchez une erreur de sécurité dans Chrome. La valeur same-origin a résolu mon problème.

Exemple de demande:

fetch(uri,{ 
    method:'GET', 
    credentials:'same-origin' 
}) 
.then() 
.catch() 
0

Fetch n'envoie pas de cookies par défaut. Si vos cookies ne sont pas HTTP only, vous devez les définir manuellement dans la collection d'en-têtes.

+0

Oui, mais je poste ce pour les développeurs d'aide pour identifier le problème à droite (en raison de la config chercher et non à partir du serveur) – Alexis