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

Desactivar usuarios que no entren

Estas en el tema de Desactivar usuarios que no entren en el foro de ASP Clásico en Foros del Web. Saludos a todos: Me gustaría saber (ó algo equivalente a) como se hace para que automáticamente una cuenta de usuario de la base de datos ...
  #1 (permalink)  
Antiguo 15/04/2005, 03:26
Avatar de zacktagnan  
Fecha de Ingreso: abril-2005
Mensajes: 501
Antigüedad: 20 años, 1 mes
Puntos: 3
Desactivar usuarios que no entren

Saludos a todos:

Me gustaría saber (ó algo equivalente a) como se hace para que automáticamente una cuenta de usuario de la base de datos que tengas en la Web, quede desactivada si el usuario no la usa desde hace tres meses, por ejemplo. Y que si no la usa desde hace 4, pues se elimine.
Como puede pasar en sitios como Yahoo, ó Hotmail, que si entras en tu email después de no usarlo durante mucho tiempo la encuentras desactivada y con los correos borrados.

A ver que me decís. Gracias.

================================================== ========
zacktagnan.
  #2 (permalink)  
Antiguo 15/04/2005, 03:57
Avatar de trasgukabi  
Fecha de Ingreso: septiembre-2004
Mensajes: 2.749
Antigüedad: 20 años, 8 meses
Puntos: 18
Haz una búsqueda en el foro (acotada a ASP) con algo como "lanzar página" "timer" o cualquier cosa que te sugiera que puede parecerse a la que tú quieres hacer.

Hay componentes; pero, como la mayoría de nosotros, no tenemos la potestad de instalarlos. así que habrá que hacerlo con código.

Un saludo (sé que la respuesta es críptica, pero seguro que te da una dirección por la que buscar)
  #3 (permalink)  
Antiguo 15/04/2005, 04:19
Avatar de txarly  
Fecha de Ingreso: marzo-2003
Ubicación: Eibar (Gipuzkoa)
Mensajes: 455
Antigüedad: 22 años, 2 meses
Puntos: 2
Te cuento como lo haria yo, a ver si te sirve al menos para empezar:
- En una tabla de la base de datos o en un campo de la tabla de los Usuarios registras en un campo de tipo fecha el ultimo acceso del Usuario que entra al sistema y añades un campo que indique si la cuenta esta activada/desactivada 1/0
- Haces una tarea programada (trabajo de SQL Server, si es tu caso) que se ejecute todos los dias a cierta hora y que compruebe las fechas de ultimo acceso del Usuario, entonces si el ultimo acceso fue hace 90 o 120 dias (entre 3 ó 4 meses), desactivas la cuenta y si el ultimo acceso fue hace más de 120 dias borras la cuenta (DELETE FROM Usuarios WHERE FechaUltimoAcceso < ...)

Un saludo
Txarly
__________________
¿Por qué Uri Geller doblaba cucharas?
  #4 (permalink)  
Antiguo 15/04/2005, 12:17
Avatar de zacktagnan  
Fecha de Ingreso: abril-2005
Mensajes: 501
Antigüedad: 20 años, 1 mes
Puntos: 3
Txarly, algo parecido tenía pensado hacer.

Pero yo soy un pobre usuario de Access. Aún no llego a un SQL Server, a no ser que haya alguna manera de conseguirlo de extranjis. Ya sabes.

Pues eso, tenía pensado, tener un campo en la tabla de USUARIOS que recogiera la fecha después que se desconectará en su última visita. Y luego tener algo que controlará el tiempo de desconexión.

Pero me dices que eso de las tareas es de SQL.

Para Access no habrá nada similar, ¿no?

================================================== ========
zacktagnan
  #5 (permalink)  
Antiguo 15/04/2005, 12:33
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 23 años, 3 meses
Puntos: 146
Un truquillo puede ser coloca la rutina que verificaria el estatus de cada usuario en el default de tu sitio. Así cada vez que un usuario entrara, se estaría revisando dicha condición. Puedes colocar condicionales para que esa consulta no se ejecute 2,3, o n veces al día, etc.

La desventaja es que requieres que un usuario entre al sitio para que se ejecute la rutina. Pero como lo que tu quieres es precisamente desactivar a los usuarios no constantes, no creo que tengas problemas con ello.
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:46.