Foros del Web » Programando para Internet » ASP Clásico »

Pasar sessiones de un servidor a otro servidor

Estas en el tema de Pasar sessiones de un servidor a otro servidor en el foro de ASP Clásico en Foros del Web. Hola. Tengo un problema que quizas alguna vez les haya ocurrido y sería muy útil para mi si alguien puede darme un empujoncito para poder ...
  #1 (permalink)  
Antiguo 22/03/2004, 14:02
 
Fecha de Ingreso: marzo-2004
Mensajes: 4
Antigüedad: 21 años, 1 mes
Puntos: 0
Pasar sessiones de un servidor a otro servidor

Hola. Tengo un problema que quizas alguna vez les haya ocurrido y sería muy útil para mi si alguien puede darme un empujoncito para poder solucionarlo.

Por medio de un ejemplo simple les voy a explicar lo que me esta pasando.

Si tengo una web por ejemplo: www.prueba1.com.ar , esta web automaticamente me redirecciona a www.prueba2.com.ar y en esta ultima abro un LOGIN para validar usuario y contraseña.

Cuando los datos son correctos inicializo una session("nombre") = True y redirecciono a la pagina correcta que está ubicada en un directorio de este segundo servidor (www.prueba2.com.ar).

Al entrar a esta pagina pregunto, por supuesto, si la session("nombre") es igual a True, de lo contrario le negaria el acceso.

Ahora, aunque me haya validado anteriormente, la session("nombre") no es = a True sino que esta vacía. Lo que me hizo dar cuenta que las sessiones no solamente se crear por explorador sino que tambien se crean por servidor.

Es esto correcto ? Alguien puede darme una solucion si es que existe a este problema ? Hay alguna alternativa para poder hacer esto ?

Gracias y espero atentamente las respuestas.
  #2 (permalink)  
Antiguo 22/03/2004, 22:10
Avatar de kalijunfan  
Fecha de Ingreso: febrero-2004
Ubicación: Montevideo, Uruguay
Mensajes: 96
Antigüedad: 21 años, 2 meses
Puntos: 0
Estimado kasperuza, estás en lo cierto, las sesiones no solamente son por navegador sino también por servidor igual que los cookies. Para esto tenés una solución pero es un tanto trabajosa. Lo que tenés que hacer es lo siguiente:

En tu dominio www.prueba1.com.ar capturás el valor que tiene la variable session("nombre") y la pasás por un link o un formulario, o sea por request.querystring o request.form a una página intermedia en www.prueba2.com.ar, esta página intermedia toma el valor pasado e inicia la variable session("nombre") en este dominio, o sea en www.prueba2.com.ar y redirige al usuario a la página que corresponda en dicho dominio, entendés?
Por ej:

pagina1.asp en www.prueba1.com.ar
Código:
 
<a href="http://www.prueba2.com.ar/intermedia.asp?n=<%= session("nombre") %>">www.prueba2.com.ar</a>
intermedia.asp en www.prueba2.com.ar
Código:
<% session("nombre") = Request.querystring("n")
response.redirect "paginaquecorresponda.asp" %>
paginaquecorresponda.asp en www.prueba2.com.ar
Código:
<% if session("nombre") = "" then
'ejecutás el código asp que quieras %>
Entendés la idea? Lo mismo lo podés hacer con un formulario oculto si no querés que el usuario vea nada en la barra de direcciones, y en ese caso enviás el formulario con javascript, pero la idea es la misma.

Fijate si esto soluciona tu problema

  #3 (permalink)  
Antiguo 23/03/2004, 12:02
 
Fecha de Ingreso: marzo-2004
Mensajes: 4
Antigüedad: 21 años, 1 mes
Puntos: 0
Es interesante la idea y la voy a probar, de todos modos quiero contarte algo a modo de compartir algo que me paso quizas les sirva a todos.

Cargo la pagina www.pepe1.com.ar, ésta contiene un solo archivo que hace un "window.location.href= "http://www.pepe2.com.ar";"
Esto lo hago porque en www.pepe2.com.ar tengo un archivo que me toma por medio de la funcion "Request.ServerVariables("HTTP_REFERER")" y me dice de donde vengo. Eso me sirve y anda. Ahora, cargo un login de usuario y contraseña, que si los datos son correctos una sesion llamada session("id") se pone igual a True.
Algo raro pasa y es que si yo no abro un popup, aunque esté vacio, o sea, si yo no cargo una pagina vacia pero del tipo popup antes de que el usuario se valide la session no se pone en true.
Esto es debido a que vengo arrastrando un marco (frame) desde el primer server y la session no pasa a traves de los frames de otros servidores.
Hay alguna solucion para esto ?
Supongo que la que me diste recien. Pero es factible pasar sessiones a traves de frames sin tener que ejecutar una pagina en el ultimo servidor donde se ejecuta la session ?

Muchas gracias y espero que les sirva a todos las respuestas.
  #4 (permalink)  
Antiguo 23/03/2004, 22:15
Avatar de kalijunfan  
Fecha de Ingreso: febrero-2004
Ubicación: Montevideo, Uruguay
Mensajes: 96
Antigüedad: 21 años, 2 meses
Puntos: 0
Lo siento pero no es posible compartir la sesión con otros dominios, la única forma de pasar información de una sesión a otro dominio es como te lo mencioné antes. Puede haber otras opciones a través de un POST usando el XMLHTTP pero estás en la misma y es más complicado a mi parecer. Por una simple cuestión de seguridad no se pueden compartir sesiones entre dominios. Lamento.

Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:48.