oki te comento como lo he hecho yo pero antes de nada te quiero haer una observacion
yahoo si permite ingresar mas de una vez a su cliente de correo electronico, puedes cargar IE y FireFox y entras en los dos y en las dos ventanas (sesiones diferentes de navegador - misma IP) te deja trabajar en las dos
luego con dos maquinas ingresas a ayahoo (diferente sessionid y diferente IP) y SI te deja tener dos sessiones en el cliente de correo.
Testiado, el correo si te deja tener dos ventanas abiertas para el mismo usuario....
en otro orden y en lo que nos ocupa
OJO: MSN Messenger y Yahoo Messenger si solo permiten un usuario online.
Pero bueno...
hace esto.
Cita: - adiciona a tu base un campo llamado session, varchar
- verificas si el usuario existe.
- si es valido user and pass - retraes el sessionid, este valor te lo asigna el server al que te has conectado <%SessionID = Trim(Session.SessionID) %> el valor es unico por conexion a servidor
- creas una función validar y la llamas en todas tus paginas que contenga
<%
'retraigo de nuvo el sessionid de la ventana en la que esto (no lo pases por URL porque no tiene sentido)
SessionID = Trim(Session.SessionID)
'retraigo el id del usuario, este si lo paso por URL
id_usuario = request("id_usuario")
'luego hago la consulta a la base de datos
SQLsid="SELECT * FROM TuTabla WHERE id_usuario = "& id_usuario &" and sessionID = '"& sessionID &"' "
'ejecuto rs
%>
no pude seguir con codigo asi que lee please
si el RS es EOF o BOF quiere decir que no hay registros que coincidan, osea tiene un sessionid el navegador que es diferente, por ende inicio sesion en otro lago o en otra ventana de navegador, y entonces saco al usuario
<%
response.redirect("login.asp?txterror=Lo siento pero su sesion se ha terminaro dado a que hemos comprobado que inicio sesion en otra maquina ó su tiempo ha expirado en esta sesion por inactividad")
%>
caso contrario lo dejo ontinuar, esto lo valido en todas las paginas.
que logro, que si se conecta en la misma pc incluso con IE primero, al sitio, y luego carga FireFox y se loguea, como el sessionid que actualizo es el ultimo ingreso, cuando trate de hacer algun proceso en la primer ventana IE lo saque y le presente ese error.
Espero te sirva
suerte