Domanda

Voglio condividere il cookie di sessione tra domini.

Ho più di un dominio: -

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

Ora, ho un singolo sito Web distribuito su un server. Voglio condividere la sessione tra i diversi domini sul singolo sito web.Come posso ottenere questo?

Ho trovato sul Web <httpCookies domain=".mydomain.com" /> ma funziona con Sub Domains (come test.mydomain.com e secure.mydomain.com) ma non per i diversi domini.

Ho anche provato <httpCookies domain=".mydomain." /> ma con questa sessione ha smesso di funzionare.

Qualcuno potrebbe aiutarmi per favore?

È stato utile?

Soluzione

Non è possibile condividere i cookie sui domini che hanno diverso Domain Domain Domain Nome.

Questo è possibile solo fare con Sottodomini .

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

Altri suggerimenti

Non è possibile condividere direttamente un cookie tra diversi dominio.Ma c'è un modo per renderlo possibile in qualche contesto.Puoi fare richiesta JSONP o caricare un Iframe nel tuo JS.Se si utilizza IFRAME effettuare una chiamata http tramite il modulo.Il tag modulo ha il tuo altro nome di dominio come azione e nomeframe come bersaglio.Quale forma farà è caricare un ifram e il cookie del tuo dominio diverso verrà nel tuo browser.

Codice:

<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>
.

Come stati ODED non è possibile condividere i cookie su diversi domini di livello superiore. Pertanto potresti aver bisogno di esaminare un metodo diverso di persistenti sessioni.

Scambia il fornitore dello stato della sessione come proposizione di DanyoLgiax non risolverà il problema in quanto l'identificazione della sessione sta ancora accadendo con i cookie. Pertanto è necessario esaminare un approccio come sessioni di cookieless:

Sessioni di cookieles < / P >.

Quindi è possibile scegliere di memorizzare i dati in un database o nella sessione INPROC sul server. Una volta rimosso la dipendenza dai cookie.

Modifica

Inoltre, se è un'attività clientide che utilizza un cookie non automobilistico che richiede assolutamente i cookie di essere presenti che li scrivevano da ciascun dominio diverso in base a questi valori memorizzati da server / sessione. Quindi un utente che commuta Domini alla fine ottiene il tuo Cookie per ogni dominio.

Se si utilizza SQL Server, penso di poterlo utilizzare come fornitore di stato della sessione.

in web.config:

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

Qui alcuni DOC:

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

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top