Foros del Web » Programando para Internet » ASPX (.net) »

Compartir session entre subdominios

Estas en el tema de Compartir session entre subdominios en el foro de ASPX (.net) en Foros del Web. Tengo varios subdominios (cada uno con su año) p.e.: 2005.miweb.com 2006.miweb.com 2007.miweb.com Normalmente se trabaja en www.miweb.com , ahí toman session("IDUser") tras ser autentificados con ...
  #1 (permalink)  
Antiguo 02/07/2008, 11:06
 
Fecha de Ingreso: mayo-2006
Mensajes: 178
Antigüedad: 17 años, 11 meses
Puntos: 3
Compartir session entre subdominios

Tengo varios subdominios (cada uno con su año) p.e.:
2005.miweb.com
2006.miweb.com
2007.miweb.com

Normalmente se trabaja en www.miweb.com, ahí toman session("IDUser") tras ser autentificados con usuario y contraseña.

Mi pregunta es como van redirigidos a un subdominio(p.e. 2005.miweb.com) y que se lea el objeto session("IDUser") del dominio www.miweb.com, para que no tengan que autentificarse de nuevo.

Un saludo

Última edición por guillermoesteban; 09/07/2008 a las 02:14 Razón: solucionado
  #2 (permalink)  
Antiguo 02/07/2008, 11:34
Avatar de Peterpay
Colaborador
 
Fecha de Ingreso: septiembre-2007
Ubicación: San Francisco, United States
Mensajes: 3.858
Antigüedad: 16 años, 7 meses
Puntos: 87
Respuesta: Compartir session entre subdominios

Server.Transfer()

con eso garantizas q la sesion no se perdiera entre tus subodminios siemrpe y cuando sean asp.net ambos
__________________
Curso WF4
http://cursos.gurudotnet.com/ DF
Aprende HTML5
  #3 (permalink)  
Antiguo 02/07/2008, 12:49
 
Fecha de Ingreso: mayo-2006
Mensajes: 178
Antigüedad: 17 años, 11 meses
Puntos: 3
Respuesta: Compartir session entre subdominios

Lo he probado y no funciona. De hecho da el siguiente error:
Ruta de acceso de la solicitud secundaria 'http://2005.miweb.com/pruebas.aspx' no válida. Se esperaba una ruta de acceso virtual


He hecho en http://www.miweb.com/index.aspx

Private Sub Page_Load(....)
Session("IDuser")=15
Server.Transfer("http://2005.miweb.com/prueba.aspx", True)
End sub

Y en la pagina destino prueba.aspx del subdominio 2005.miweb.com (http://2005.miweb.com/prueba.aspx)

Private Sub Page_Load(....)
Dim a as integer=Session("IDuser")
response.write (a)
End sub

Me da error el Server.Transfer. De todas formas, muchas gracias por tu rápida contestación.

Última edición por guillermoesteban; 02/07/2008 a las 13:04
  #4 (permalink)  
Antiguo 02/07/2008, 17:46
Avatar de Peterpay
Colaborador
 
Fecha de Ingreso: septiembre-2007
Ubicación: San Francisco, United States
Mensajes: 3.858
Antigüedad: 16 años, 7 meses
Puntos: 87
Respuesta: Compartir session entre subdominios

mira encontre esto

Protected Sub Page_Unload(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Unload try Context.Response.Cookies.Item("ASP.NET_SessionId") .Domain = ".yourDomain.com"
Dim sessionCookie As New Web.HttpCookie("ASP.NET_SessionId", Context.Session.SessionID) sessionCookie.Domain = ".yourDomain.com"
Context.Response.SetCookie(sessionCookie)
catch ex exception
' Session Cookie not available
end try

End Sub
__________________
Curso WF4
http://cursos.gurudotnet.com/ DF
Aprende HTML5
  #5 (permalink)  
Antiguo 02/07/2008, 17:48
Avatar de Peterpay
Colaborador
 
Fecha de Ingreso: septiembre-2007
Ubicación: San Francisco, United States
Mensajes: 3.858
Antigüedad: 16 años, 7 meses
Puntos: 87
Respuesta: Compartir session entre subdominios

sorry esto si funciona

protected void Page_Load(object sender, EventArgs e)
{



Response.Cookies["ASP.NET_SessionId"].Value = Session.SessionID;
Response.Cookies["ASP.NET_SessionId"].Domain = ".mydomain.com"; // con el cambio al .domain garantizas q utilice el comodin y listo cualquier session es accesible ente subdominios

Session.Add("t", "test text");




}
__________________
Curso WF4
http://cursos.gurudotnet.com/ DF
Aprende HTML5
  #6 (permalink)  
Antiguo 04/07/2008, 00:47
 
Fecha de Ingreso: mayo-2006
Mensajes: 178
Antigüedad: 17 años, 11 meses
Puntos: 3
Respuesta: Compartir session entre subdominios

No quería usar cookies, pero creo que será lo único que puedo hacer. Lo probaré.

Muchas gracias Peterpay. Te debo una.
  #7 (permalink)  
Antiguo 09/07/2008, 02:14
 
Fecha de Ingreso: mayo-2006
Mensajes: 178
Antigüedad: 17 años, 11 meses
Puntos: 3
Respuesta: Compartir session entre subdominios

SOLUCIÓN QUE COMPARTO CON TODOS:

En dominio principal http://www.miweb.com/index.aspx

Dim multicookie As HttpCookie = New HttpCookie("MiMulticookie")
multicookie.Values.Add("IDUser", Session("IDUser"))
multicookie.Values.Add("IDOtroDato", Session("Cualquiera"))
multicookie.Domain = ".miweb.com"
Response.Cookies.Add(multicookie)

Dim newurl As String = http://2005.miweb.com/prueba.aspx
RegisterStartupScript("redirige", "<script language='JavaScript'>parent.location.href='" & newurl & "'</script>")


En el subdominio principal http://2005.miweb.com/prueba.aspx
Try
Dim getmulticcokie As HttpCookie = Request.Cookies.Get("MiMulticookie")
Session("IDUser") = getmulticcokie.Values.Get("IDUser")
Session("IDOtroDato") = getmulticcokie.Values.Get("IDOtroDato")
Catch ex As Exception
Response.Redirect("login.aspx", True)
EndTry

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 12:38.