Autenticación con java

Resuelto
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

  1. 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
    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
      1. Désolé, je ne peux pas vous aider avec ce code.
        0
        1. Lo sé, pero ¿cómo lo añado?
          0
          1. Colaborador
            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
            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
              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
                1. gracias por su ayuda
                  cierro este tema

                  atentamente
                  0
                  1. ¡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
                    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
                      1. ¿Y dónde escribo esta consulta SQL?
                        0
                        1. No sé si has visto mi mensaje.
                          0
                      2. 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
                        1. Je suis désolé, mais je ne peux pas vous aider avec cette demande.
                          0
                          1. 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