Foros del Web » Programando para Internet » PHP »

Identificar usuario en un equipo

Estas en el tema de Identificar usuario en un equipo en el foro de PHP en Foros del Web. Hola a todos, el reto es el siguiente: Tengo dos portales diferente por ejemplo www.portal1.com y www.portal2.com En los 2 portales existen usuarios registrados que ...
  #1 (permalink)  
Antiguo 06/10/2008, 14:29
 
Fecha de Ingreso: septiembre-2008
Mensajes: 32
Antigüedad: 16 años, 2 meses
Puntos: 0
Identificar usuario en un equipo

Hola a todos, el reto es el siguiente:

Tengo dos portales diferente por ejemplo www.portal1.com y www.portal2.com

En los 2 portales existen usuarios registrados que en realidad son los mismos pero en BD diferentes.

Necesito por medio se sesiones o cookies o algo hacer que si el usuario esta logueado o activo en el portal1 a dar clic en un link hacia el portal2 automaticamente lo autentique.

Actualmente tenia implementado esto con una sesión que tiene un nombre fijo. pero hay un problema. todos los equipos quedan con la misma sesion por tanto si en un equipo estoy con un usuario en otro con la misma sesion queda con ese usuario.

En realidad lo que necesito es saber una forma que se genere una sesión no por cada portal sino por cada explorador habierto o por el equipo en que se habre.

No se si me entiendan pero cualquier aporte lo agradezco.
  #2 (permalink)  
Antiguo 06/10/2008, 14:33
Avatar de jaronu  
Fecha de Ingreso: febrero-2008
Mensajes: 2.183
Antigüedad: 16 años, 8 meses
Puntos: 52
Respuesta: Identificar usuario en un equipo

como es el codigo que usas en la session de los distintos portales??
  #3 (permalink)  
Antiguo 06/10/2008, 14:42
 
Fecha de Ingreso: septiembre-2008
Mensajes: 32
Antigüedad: 16 años, 2 meses
Puntos: 0
Respuesta: Identificar usuario en un equipo

session_name('xxx');
session_id('xxx');
session_start();
$_SESSION['dato1']=1111;
$_SESSION['dato2']=2222;

y a otro lado por ejemplo capturo uno de los datos para hacer la autenticación

session_name('xxx');
session_id('xxx');
session_start();

$valor=$_SESSION['dato1'];


quiero poder variar el id de la sesión pero que se conserve entre los portales en la maquina cliente.
  #4 (permalink)  
Antiguo 06/10/2008, 15:22
Avatar de jaronu  
Fecha de Ingreso: febrero-2008
Mensajes: 2.183
Antigüedad: 16 años, 8 meses
Puntos: 52
Respuesta: Identificar usuario en un equipo

Usa mejor la cookies, creo que te iran mejor ya que los portales tienen dominios distintos, no?

o enviar mediante url las variables que necesitas para que un portal y otro te reconozcan las sessiones, pero no es demasido seguro.

sobre cookies tienes mucha info en este foro, en el INDICE de las FAQ'S

suerte
  #5 (permalink)  
Antiguo 06/10/2008, 16:07
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Respuesta: Identificar usuario en un equipo

Lo que necesitas es un webservice que mantenga el estado del login en todas tus sesiones, ya sea en el servidor 1 o 2, y desde el servidor 1 o 2 haces una llamada al servidor del webservice para checar si el usuario inicio o no sesion.

Es la forma mas correcta de implementar algo como lo que quieres hacer.

Saludos.
  #6 (permalink)  
Antiguo 07/10/2008, 08:03
 
Fecha de Ingreso: septiembre-2008
Mensajes: 32
Antigüedad: 16 años, 2 meses
Puntos: 0
Respuesta: Identificar usuario en un equipo

GatorV tienes razón, me parece excelente lo del web service.
Tengo una duda en este caso.

Como se si por ejemplo entro al servidor 1 inicio sesión, y luego paso con un link a segundo servidor sin enviar parametros, como hace el web service para saber que es el mismo usuario el que esta pasando de un sitio al otro y autenticarlo?
  #7 (permalink)  
Antiguo 07/10/2008, 08:41
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Respuesta: Identificar usuario en un equipo

Tienes que pasar algún tipo de dato, si te fijas por ejemplo ve como hace "windows live", de microsoft, tu te logeas en live y al entrar a otro sitio, te "redirige" a live, este checa si ya tienes una sesión y en caso de que si estes te redirige de nuevo al sitio original con los parámetros del usuario.

Live es el que rastrea si estas o no en la sesión y pasa los datos directamente al otro sitio web.

Saludos.
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 22:18.