Como crear un Jframe (INICIO DE SESION)
BUENO soy nueva y recien comienzo con eso de java yo trabajo en netbeans y bueno estoy realizando
mi primer proyecto en java quisiera si me pudieran ayudar con el codigo de como puedo hacer para hacer un
simple inicio de sesion ,claro con base de datos aunque sea una orientacion muchas gracias y espero que me ayuden .
ahi les va la imagen
- Inicie sesión o regístrese para enviar comentarios
Para Crear...
Hola, bueno para crear un formaulario de inicio de sesion en java es relativamente sencillo. Loprimero que debes hacer que una vez hayas realizado el diseño osea colocando el textfield y el passwordfield tienes que conectar con la base de datos y en boton hacer la consulta, para eso tienes que crear una tabla por ejemplo llamado usuarios y que tenga las columnas login y password.
y haces la consulta algo asi
ojo: esto es una idea masomenos como deberias hacerlo ya que en java podria variar en ciertos casos.
una vez que hayas heco la consulta verificas si existe en la lista caso contrario le puedes indicar que el usuario y contraseña ingresado son incorrectos.
espero que te haya sido de ayuda cualquier duda, si no sabes como hacer una consulta en java con una BD hazmelo saber para guiarte.
Lección #1
NUNCA metas a SQL directamente el texto que un usuario teclea en algun campo.
En este caso primero debes usar un PreparedStatement (que lo obtienes de una Connection abierta ya a la base de datos) con este SQL: "SELECT * FROM usuario WHERE login=? AND password=?" (los nombres de tabla deberian ser en singular por cierto).
Luego le pasas como parámetros el username y password con ps.setString(1, textfield1.getText()) y ps.setString(2, textfield2.getText()).
Finalmente lo ejecutas como query, obtienes un ResultSet, lo recorres, si tiene un resultado entonces es que el login fue válido, de lo contrario fue inválido. Al final cierras el ResultSet y el PreparedStatement.
Given the choice of dancing pigs and security, users will choose dancing pigs, every single time. - Steve Riley
Hola Ezamudio
interezante tu respuesta sin embargo tengo un par de dudas espero me la puedas aclarar:
1.- porque nunca hay que pasar directamente el texto a SQL?
2.- que hace exactamente el PreparedStatement?
Jframe
Muy interesante el ejemplo que están debatiendo, pero pordían publicar un ejemplo que lo explique todo desde el principio, es decir un ejemplo integrador.
saludos
por el sql injection
No soy ezamudio pero he aqui la respuesta.
existe una técnica llamada Inyección de SQL la cual consiste en que un usuario (intencional o no) obtenga datos de la base que no deberia tener. Un prepared statement te escapea los valores para que no puedan realizarse esas cosas
sobres
xkcd
Esta es la mejor explicación que he visto. Lo deja super claro para alguien que no se imaginaba bien cómo funciona. Y no olviden ver el ALT de la imagen...
Given the choice of dancing pigs and security, users will choose dancing pigs, every single time. - Steve Riley
PreparedStatement
Bueno espero ya haya quedado aclarado lo de SQL Injection, que en sí mismo es suficiente razón para usar PreparedStatements. Pero además de eso, optimizas el uso de algunos statements de SQL que vas a invocar varias veces. Por ejemplo si tienes que insertar 100 registros a una base de datos, solamente creas un PreparedStatement y en un ciclo le pasas parámetros distintos (los valores que vas a insertar) y lo ejecutas, en vez de construir 100 cadenas de INSERT distintas. Con 100 no importa mucho pero 10mil ya puede causar algunos problemas de memoria...
Given the choice of dancing pigs and security, users will choose dancing pigs, every single time. - Steve Riley
Jajaja que buena! -- Javier
Jajaja que buena!
--
Javier Benek
No estaría mal hacer un
No estaría mal hacer un compendio de las vulnerabilidades que aplican para aplicaciones web Java, tal como SQL Injection, Cross-site Scripting, Buffer Overflow, DoS (en lo que se pueda limitar), o hasta dedicarles una charla en alguna reunión :-)
--
Javier Benek
Buena idea
Es un tema muy importante, y muy delicado. Al final hay que analizar detenidamente cada caso de manera individual. Pero se pueden dar algunos apuntadores generales, específicamente en el caso de Java. Voy a ir preparando algo, a ver si me da tiempo para la siguiente reunión, qué dia va a ser?
Given the choice of dancing pigs and security, users will choose dancing pigs, every single time. - Steve Riley
Lección #2
Y otra cosa que se me olvidó decirte: no almacenes passwords sin encriptar en la base de datos.
Debes sacar un hash (MD5 por ejemplo) del password con algun otro dato (ya sea una sal aleatoria, o el username) y eso es lo que almacenas en la base de datos. Y entonces el password que el usuario teclea lo debes procesar igual y lo comparas con lo que tienes almacenado.
Si guardas passwords sin encriptar, cualquier persona con acceso incluso de sólo lectura a la tabla de usuarios, puede ver los passwords de todos los usuarios. Si guardas el hash ya no hay manera de que sepas el password aunque puedas verlo en la tabla porque son funciones irreversibles.
Given the choice of dancing pigs and security, users will choose dancing pigs, every single time. - Steve Riley
Aún no hay fecha definida
Aún no hay fecha definida para marzo, pero en cuanto sepa pongo el anuncio, definitivamente es muy buen tema para una charla!
--
Javier Benek
Problema actionEvent
Hola soy nuevo aqui y en lo que respecta a java espero no ser inprudente. Respecto a lo que comentas de pasar como parametros los valores del JTextfield de la GUI a una variable tipo String no e podido conseguir esto siempre me marca un Error a la hora de realizar el evento algo de NullPointerException.
Ingreso en Java
Hola a todos en el foro, soy nuevo en java y me gustaria saber lo siguiente:
Tengo una base de datos en Mysql server que contiene un tabla con campos CI,Nombre,Apellidos,Direccion,Edad.
lo que yo necesito es a traves de java ingresar informacion a la base de datos pero cuando ingrese un numero de cedula existente me despliegue un mensaje de que el usuario ya existe... caso contrario osea si no existiese el usuario pueda yo ingresar la informacion correspondiente.
Espero contar con su ayuda
de antemano mil gracias
Hola, podrias explicarme
Hola, podrias explicarme como hacer la consulta en el formulario?? intente hacerla pero me dan mucho errores
Interesante publicación, no
Interesante publicación, no la había visto.
Mas que una Respuesta
Mas que una respuesta.
Es una pregunta. Una vez hecho el formulario con un jLabel y Jpasswordfield, se le puede agregar un JProgressBar para que cuando se de clic en iniciar sección Primero muestre el JProgressBar y despues de unos segundos muestre la seccion inicada. ¿Cual seria la programación a Realizar?
Espero que me hayan comprendido, La verdad necesito de esa AYUDA porque e intentado sin ningun EXITO.....