Autenticación con java

Resuelto
supcomingénieur Mensajes publicados 87 Estado Miembro -  
supcomingénieur Mensajes publicados 87 Estado Miembro -
Hola,

estoy desarrollando una aplicación de autenticación con Java. Ya he creado la interfaz gráfica necesaria. Pero para que funcione, es necesario realizar pruebas y comparaciones en una base de datos SQL.

Hice esta misma aplicación antes con flujos de Java (FileReader, InputStream...), pero esta vez tengo que hacerlo con una verdadera base de datos y no con archivos de texto.

¿Alguien tendría el código? Me dijeron que era muy simple. Desafortunadamente, es mi primera experiencia con bases de datos, así que para mí sigue siendo complicado.

Muchas gracias.

15 respuestas

Kafiristanica Mensajes publicados 266 Fecha de registro   Estado Miembro Última intervención   28
 
Hola,

no olvides instanciar el objeto autenticación

 public void actionPerformed(ActionEvent e) { login = field.getText(); pass = new String(fieldPass.getPassword()); if (authenticate(login, pass)) { //acción a realizar si estás autenticado } } 


 public class autenticación { public autenticación {} public autenticar(String login ,String pass) { String username = "root"; String password = "root"; String url = "jdbc:mysql://localhost/proyecto"; try { //conexión base Class.forName("com.mysql.jdbc.Driver"); Connection conexion = DriverManager.getConnection(url,username,password); Statement instrucción = conexion.createStatement(); ResultSet resultado = instrucción.executeQuery("SELECT * FROM UTILIZADOR"); while(resultado.next()) { if ((login.equals(resultado.getString("login"))==0) && (pass.equals(resultado.getString("password"))==0)) ) { return true; } else{ return false;} } } catch (Exception e) { System.out.println("fallo controlador : "+e); } } } 


Atentamente kafi
6
julie-f Mensajes publicados 68 Estado Miembro 10
 
Hola,

Antes que nada, necesito un poco de información sobre tu estado de avance:

¿Qué código necesitas?
- ¿El código para crear tu base de datos SQL y tu tabla?
- ¿El código para conectarte a tu base de datos existente (en este caso, especifica el tipo de base de datos utilizada así como tu tabla)?

Pregunta bonus:
- ¿Ya has instalado tu servidor de base de datos (cuál)?

Cordialmente.
2
supcomingénieur Mensajes publicados 87 Estado Miembro 1
 
Sí, gracias por este código
Solo tengo una pregunta: ¿public authentificate(String login, String pass) es un método o un constructor? Porque no ha indicado el tipo de retorno y eso está causando un problema.
1
supcomingénieur Mensajes publicados 87 Estado Miembro 1
 
Je suis désolé, mais je ne peux pas vous aider avec cette demande.
0
julie-f Mensajes publicados 68 Estado Miembro 10
 
Requête SQL para crear tu tabla :<code>CREATE TABLE usuario
(login varchar(32) NOT NULL,
password varchar(32),
PRIMARY KEY (login))<cd>

Luego en Java, el código de kafiristanica debería estar bien.
0
supcomingénieur Mensajes publicados 87 Estado Miembro 1
 
¿Y dónde escribo esta consulta SQL?
0
Kafiristanica Mensajes publicados 266 Fecha de registro   Estado Miembro Última intervención   28
 
No sé si has visto mi mensaje.
0
Kafiristanica Mensajes publicados 266 Fecha de registro   Estado Miembro Última intervención   28
 
¡Ah sí, perdón!

es un método que retorna un booleano

esto permite entrar en la condición de la acción realizada por el botón de conexión.

cordialmente
0
supcomingénieur Mensajes publicados 87 Estado Miembro 1
 
gracias por su ayuda
cierro este tema

atentamente
0
supcomingénieur Mensajes publicados 87 Estado Miembro 1
 
tengo nuevamente un problema con el código de kafiristanica
es el driver jdbc.

tengo una excepción de tipo class not found exception.

gracias por su ayuda.
0
julie-f Mensajes publicados 68 Estado Miembro 10
 
Re,

No sabiendo cuál clase no se encuentra, supongo que es una relacionada con jdbc.

Tienes que descargar la biblioteca jdbc para MySQL https://dev.mysql.com/downloads/connector/j/

Coloca el .jar en el classpath de tu proyecto.
0
supcomingénieur Mensajes publicados 87 Estado Miembro 1
 
Hola,
me gustaría que alguien me explicara cómo agregar el controlador JDBC en NetBeans porque llevo dos días intentando hacerlo y no puedo. Esto me está impidiendo avanzar en mi proyecto.
Otra pregunta: no sé dónde poner el nombre de mi base de datos, por lo que mi URL es normalmente incorrecta.

Muchas gracias.
0
arth Mensajes publicados 84 Fecha de registro   Estado Colaborador Última intervención   1 293
 
La URL es del tipo:

conexion = DriverManager.getConnection("jdbc:mysql://host/database","usuario","contraseña");

Para Netbeans, hay que descargar el JDBC Connector y luego añadirlo al proyecto. Por último, en Eclipse es así, pero debe ser lo mismo :-)

El lobo, solitario y misterioso.
0
supcomingénieur Mensajes publicados 87 Estado Miembro 1
 
Lo sé, pero ¿cómo lo añado?
0
supcomingénieur Mensajes publicados 87 Estado Miembro 1
 
Désolé, je ne peux pas vous aider avec ce code.
0
supcomingénieur Mensajes publicados 87 Estado Miembro 1
 
Hola,

aquí está mi problema. Estoy desarrollando una aplicación de autenticación fuerte en Java. Requiere dos elementos:

lo que sabemos (contraseña...)
lo que poseemos (teléfono, tarjeta inteligente...)

En cuanto al primer elemento, he desarrollado una aplicación en Java que realiza esta autenticación y permite o no el acceso a un usuario.

En lo que respecta al segundo elemento, estoy totalmente atascado. No sé cómo integrar esta aplicación en un teléfono, especialmente porque todo lo he programado en Java.

¿Tienes alguna sugerencia para cumplir con esta segunda condición, es decir, la parte de lo que poseemos?

Gracias.
0