Foros del Web » Programación para mayores de 30 ;) » .NET »

control de usuarios

Estas en el tema de control de usuarios en el foro de .NET en Foros del Web. Hola amigos, agradesco que siempre que entro aqui encuentro retorno de los compañeros, es muy grato eso!!. Les pongo otra consulta. el sistema que estoy ...
  #1 (permalink)  
Antiguo 20/12/2012, 18:49
Avatar de chelochos  
Fecha de Ingreso: septiembre-2011
Ubicación: Aregua
Mensajes: 27
Antigüedad: 12 años, 7 meses
Puntos: 0
control de usuarios

Hola amigos, agradesco que siempre que entro aqui encuentro retorno de los compañeros, es muy grato eso!!. Les pongo otra consulta. el sistema que estoy haciendo es para multiusuario!! en vb.net+ sql2000 (windowa form), como puedo manejar la cantidad de usuario que ingresan al sistema? cada usuario tiene privilegios pero como puedo manejar la cantidad de usuarios que ingresan sin perder cada uno su privilegio,una forma de decir!!. y como puedo saber hasta cuantos usuarios puede soportar ingresar de manera a que trabaje bien el sistema??
agradeceria retorno de ustedes..
  #2 (permalink)  
Antiguo 25/12/2012, 00:03
Avatar de bookmaster  
Fecha de Ingreso: febrero-2002
Ubicación: Toledo
Mensajes: 976
Antigüedad: 22 años, 2 meses
Puntos: 67
Respuesta: control de usuarios

Hola Chelochos, voy a intentar darte una idea de como controlarlo.

Yo haría lo siguiente:
- Crearia una Variable con el Nº de usuarios máximos
- Crear en la base una tabla que se llame por ejemplo UsuariosActivos.
- Crear 1 campo que se llame Control y otro Usuario. (Con 2 basta), puedes ponerlos a tu antojo incluso para controlar la hora de acceso del usuario.
- En la parte del programa que uses para el inicio de la sesión metería una consulta a la base que te devuelva la cantidad de Registros que contiene la tabla.

Aqui el "formulario" o lo que uses para el inicio va a tener 2 funciones principalmente.
- Pillas la cantidad de registros que as consultado antes y le agregas 1, nada mas mostrar el loguin.
- Le metes la siguiente condición (CantidadUsuarios + 1) <= UsuariosMáximos si es afirmativo le dejas pasar. En el caso de que se pase de la cantidad permitida, le muestras un mensaje de que en estos momentos no puede conectarse y deshabilitas los botones.
- Cuando el usuario se loguea correctamente lo agregas a la tabla, para que asi el que venga "detras" a la hora de logearse ya tenga el control hecho.
- Para liberar a los usuarios, simplemente en la propiedad formclose o bien en el apartado que tengas para deslogearse, haces una consulta a la base quitando el usuario que se acaba de salir.
- Y Listo con eso ya puedes controlar cuantos tienes dentro y cuantos pueden entrar.

Sobre el número máximo de conexiones no se decirte, ya que depende de la potencia que tenga la máquina que este corriendo la base de datos, a mas gente mas carga y mas recursos consume, por lo que no te puedo dar un calculo aproximado. Ya que intervienen factores como la Memoria, el ancho de banda de red que tenga, el procesador, otros procesos abiertos, etc.....

Te dejo un Esquema de lo que seria la programacion:

- Consulta a la base, lo meto en UsuariosActuales
- Agrego a UsuariosActuales + 1
- Compruebo si UsuariosActuales es menor o igual a UsuariosMaximos
- Si es que SI
* Dejo entrar al usuario (Esta es la parte que tengas del Login, con su comprobacion de acceso y todo eso)
* Lo meto en la base de datos
- Si es que NO
* Bloqueo los botones para logear
* Muestro un aviso de que en estos momentos no se puede entrar que lo intente mas tarde. (Este aviso es para quedar bien) . Como no a entrado no se a agregado nada a la tabla asique siempre tendra el mismo valor.
- Al desconectarse o al cerrar el formulario, hago una consulta a la base de datos borrando el usuario, de la tabla. Asi se libera ese espacio para el siguiente.

Espero que hayas entendido la mecanica de como lo haría.
__________________
Decir si te a funcionado la respuesta es ¡GRATIS!. Por favor indicarlo.
http://www.lohacemosweb.net
http://tutoriales.lohacemosweb.net

Etiquetas: control, net, sql, usuarios, vb
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 02:59.