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

Usuarios en java

Estas en el tema de Usuarios en java en el foro de Java en Foros del Web. Bueno, voy a explicar realmente lo que necesito, espero me entiendan y me puedan ayudar: Decidi abrir otro tema para explicar lo que quiero. Estoy ...
  #1 (permalink)  
Antiguo 03/01/2011, 10:41
 
Fecha de Ingreso: diciembre-2010
Ubicación: Bogotá
Mensajes: 22
Antigüedad: 13 años, 3 meses
Puntos: 0
Pregunta Usuarios en java

Bueno, voy a explicar realmente lo que necesito, espero me entiendan y me puedan ayudar:

Decidi abrir otro tema para explicar lo que quiero.

Estoy haciendo una aplicacion con usuarios, tengo una tabla en la base de datos con los siguientes campos:

USUARIO PASSWORD ESTADO
administrador 12345 0

el campo ESTADO esta en 0, ya que el administrador no ha iniciado su sesion, y cuando la inicia, el campo ESTADO se pone en 1 de esta forma:

USUARIO PASSWORD ESTADO
administrador 12345 1

y si se cierra el programa (dando en el boton cerrar), el campo de ESTADO se actualiza y se vuelve a poner en 0. Hasta ahi todo bien, el programa me funciona perfecto.

El problema esta en lo siguiente, si el administrador inicia la sesion, y el programa no se finaliza dando el en boton cerrar (ya sea terminando el proceso desde el Administrador de Tareas) o simplemente apagando el computador o por un fallo de energia, etc. el campo ESTADO me queda en 1, no se me actualiza a 0, y de esta forma la proxima vez que el administrador desee iniciar la sesion, no lo deja, por lo que el campo ESTADO esta en 1. haciendo como si ya estuviera iniciada la sesion.

Este es mi problema, por eso pense que utilizando Sockets lo podria solucionar. Agradeceria a la persona que me pudiera ayudar, que depronto haya tenido el mismo inconveniente.
Muchas Gracias.
  #2 (permalink)  
Antiguo 04/01/2011, 14:20
Avatar de haggenx  
Fecha de Ingreso: febrero-2007
Ubicación: México
Mensajes: 823
Antigüedad: 17 años, 2 meses
Puntos: 24
De acuerdo Respuesta: Usuarios en java

No se como se podria solucionar el problema, pero lo que podrias hacer es darle un tiempo de vida a la conexion, necesitarias agregar un campo fecha a tu tabla, cuando te conectes guardas la fecha y si al intentar conectar conectarte detectas una conexion previa segun lo que ya haz hecho con tu programacion, verificas entonces ademas cuando te conectaste por ultima vez, le sumas cierta cantidad de tiempo que en promedio es lo que el usuario necesita para hacer su trabajo, si la fecha final es menor al tiempo actual, entonces se da por hecho que se salio sin cerrar bien su sesion y que ya lleva algun tiempo así, entonces procedes a liberar esa conexion restableciendo los datos de ese registro.
  #3 (permalink)  
Antiguo 05/01/2011, 17:44
Avatar de valdo_kof  
Fecha de Ingreso: noviembre-2009
Ubicación: San Juan del Rio, Qro
Mensajes: 192
Antigüedad: 14 años, 5 meses
Puntos: 16
Respuesta: Usuarios en java

mira aegis900 lo que quieres hacer es una pagina con sesion activa?, bueno si es asi te recomiendo uses variables de session si es q estas usando jsp o si estas usando solo java usando jframe o jpanel es casi lo mismo, te explico tienes una pagina login. en la cual tecleas o seleccionas tu usuario y despues tecleas tu contraseña

y con el boton lo mandas a otra pagina de validacion de usuario (si es q usas jsp) lo primiero que tienes q hacer es

1 recuperar lo que tecleaste en la pagina login con

String usuario=request.getParameter("usuario"),psw=reques t.getParameter("valor"); para pagina jsp


para jpanel o jframe

en el boton solo lo recuperas con
String usuario=jTextField1.getText(),psw=jPasswordField1. getText();

donde usuario y valor son los tombres de tus cajas de texto de tu pagina login

al hacer la consulta

select usuario from usuarios where pass=psw and usuario=usuario

que me imagino es algo como lo que tu haces ahora

si estas haciendo jsp la variable de session la harias asi

us=rs.getString("nombre");
session.setAttribute( "usuario", us );

y asi cuando cieerres tu aplicacion la variable caduca pero en cada pagina donde quieres q se restringa para cada usuario tienes que poner esto

session.getAttribute( "usuario" ) y tu condicion q si no es administradr por ejemplo no te permita ver la pagina

ahora si usas jframe o jpanel

login.this.setVisible(false);
login.this.dispose();
us.setLocationRelativeTo(null);
us.setVisible(true);

con eso habres una ventana x en este caso la ventana q le corresponde al objeto us

tendrias q ver la forma de hacer algo asi

us.setParameter(usuario) no se si esto se pueda la idea es arrastrar la variable por todoas las ventanas q le correspondan a ese usuario

o existe una propiedad en netbeans donde puedes hacer q tu ventana contenga cualquiera de estas propiedades

hide
exit_on_close
dispose
do_noting


podria ser que al usar exit on close que cierra todo el programa o la aplicacion desde la x no se si se podria hacer if(login.this.exit_on_close()==true){
entonces te haga el cambio que quieres de 1 a 0
}

investiga el uso de esas propiedades xq ppor ahi esta tu fallo

espero haberte orientado un poco, podria ayudarte mas pero no se que utilizas


saludos

Etiquetas: usuarios
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 04:30.