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

AdjuntoTamaño
INICIO SESION.JPG10.29 KB

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.
Imagen de miguelr22

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

SELECT * FROM usuarios WHERE login = textfield1.gettext() AND password=passwordfield1.gettext();

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.

Imagen de ezamudio

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

Imagen de Shadonwk

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

Imagen de Nopalin

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

Imagen de ezamudio

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

Imagen de ezamudio

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

Imagen de benek

Jajaja que buena! -- Javier

Jajaja que buena!

--
Javier Benek

Imagen de 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

Imagen de ezamudio

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

Imagen de ezamudio

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

Imagen de benek

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

Imagen de bonfil1

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

Imagen de cfpmx

Interesante publicación, no

Interesante publicación, no la había visto.

Imagen de cjey

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.....