Pregunta

Quiero compartir la cookie de sesión entre los dominios.

Tengo más de un dominio: -

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

Ahora, tengo un sitio web único desplegado en un servidor. Quiero compartir sesión entre los diferentes dominios en el sitio web único.¿Cómo lo logro?

que encontré en la web <httpCookies domain=".mydomain.com" />, pero funciona con subdominios (como test.mydomain.com y secure.mydomain.com) pero no para los diferentes dominios.

También probé <httpCookies domain=".mydomain." /> pero por esta sesión dejó de funcionar.

¿Podría alguien ayudarme por favor?

¿Fue útil?

Solución

No puede compartir cookies en dominios que tienen diferentes nombre de nivel superior .

Esto solo es posible hacer con subdominios .

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

Otros consejos

No puede compartir una cookie entre el dominio diferente directamente.Pero hay una forma de hacer posible en algún contexto.Puede hacer que Jsonp solicite o cargue un iframe en su JS.Si usa IFRAME, haga una llamada HTTP POST utilizando el formulario.La etiqueta de la forma tiene su otro nombre de dominio como el nombre de acción y iframe como objetivo.Lo que hará lo que hará es que cargará un IFRAM y la cookie de su dominio diferente vendrá en su navegador.

Código:

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

Como estados odiados, no puede compartir cookies en diferentes dominios de nivel superior. Por lo tanto, es posible que deba investigar un método diferente de sesiones persistentes.

Cambiar el proveedor del estado de la sesión A medida que Danyolgiax propone no resolverá su problema, ya que la identificación de la sesión todavía está sucediendo con las cookies. Por lo tanto, debe considerar un enfoque, como las sesiones de COOKIES:

sesiones de cocinas < / p>

Luego, puede optar por almacenar los datos en una base de datos o sesión inprag en el servidor. Una vez que haya eliminado la dependencia de las cookies.

editar

Además, si tiene alguna actividad de clientes utilizando una cookie que no está autorizada, lo que requiere que las cookies estén presentes, le escribiría de cada dominio diferente según estos valores almacenados del servidor / sesión. Por lo que un dominio de conmutación de usuarios eventualmente obtiene su Cookie para cada dominio.

Si está utilizando SQL Server, creo que puede usarlo como proveedor de estado de sesión.

en web.config:

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

Aquí algunos doc:

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

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top