Question

Je veux partager cookie de session entre les domaines.

J'ai plus d'un domaine:-

1. mydomain.com
2. mydomain.fr
3. mydomain.de
4. mydomain.da
...and many other language based

Maintenant, j'ai un seul site web déployée sur un serveur. Je veux session de partage entre les différents domaines sur le site web unique.Comment puis-je y parvenir?

J'ai trouvé sur le web <httpCookies domain=".mydomain.com" /> mais il travailler avec des sous-domaines (comme test.mydomain.com et secure.mydomain.com), mais pas pour les différents domaines.

J'ai aussi essayé <httpCookies domain=".mydomain." /> mais par cette session a cessé de travailler.

Quelqu'un pourrait-il m'aider s'il vous plaît?

Était-ce utile?

La solution

Vous ne pouvez pas partager des cookies sur des domaines différents domaine de premier niveau nom.

Ceci est seulement possible de le faire avec les sous-domaines.

mydomain.com
fr.mydomain.com
de.mydomain.com
da.mydomain.com
...

Autres conseils

Vous ne pouvez pas partager un cookie entre autre domaine directement.Mais il y a un moyen de rendre cela possible, à un certain contexte.Vous pouvez faire JSONP demande ou du chargement d'une iframe dans votre JS.si vous utilisez iframe faire un POST http appel à l'aide du formulaire.Balise Form a un autre de vos nom de domaine, comme l'action et de l'iframe nom comme une cible.Ce formulaire n'est-il charger une ifram et le cookie de votre domaine différent viendra dans votre navigateur.

Code:

<iframe name="iframe-test" border="1px"></iframe>

<form id="iframe-form" target="iframe-test" action="http://differentdomain.com/setCookie" method="POST">
     <input type="hidden" value="1234" name="token">
   </form>

    <script type="text/javascript">
        function submitForm(){          
            var form = document.getElementById("iframe-form");
            form.submit();              
        }
    </script>

Comme Oded unis vous ne pouvez pas partager des cookies à travers les différents domaines de premier niveau.Par conséquent, vous pouvez avoir besoin de regarder dans une autre méthode de conservation des séances.

L'échange le fournisseur d'État de Session comme danyolgiax propose ne permettra pas de résoudre votre problème dans la session d'identification est encore en cours avec les cookies.Par conséquent, vous avez besoin de regarder dans une approche comme cookieless sessions:

Cookieles sessions

Ensuite, vous pouvez choisir de stocker les données dans une Base de données ou InProc session sur le serveur.Une fois que vous avez retiré la dépendance sur les cookies.

Modifier

En outre, si vous certains infoclient de l'activité à l'aide d'un non-auth cookie qui nécessite absolument l'cookies pour être présent que vous copiez à partir de chaque domaine sur la base de ces serveur/session des valeurs stockées.Ainsi, un changement d'utilisateur domaines obtient finalement votre cookie pour chaque domaine.

Si vous utilisez SQL Server, je pense que vous pouvez l'utiliser en tant que fournisseur d'état de session.

dans le web.config:

<sessionState 
        mode="SQLServer"
        sqlConnectionString="data source=127.0.0.1;user id=<username>;password=<strongpassword>"
        cookieless="false" 
        timeout="20" 
/>

Voici un peu de doc:

http://msdn.microsoft.com/en-us/library/ms178581.aspx

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top